update the OpenCL reference pages for v3.0.16 (#151)
diff --git a/sdk/3.0/docs/man/html/.htaccess b/sdk/3.0/docs/man/html/.htaccess index f5a588c..8a5b4f0 100644 --- a/sdk/3.0/docs/man/html/.htaccess +++ b/sdk/3.0/docs/man/html/.htaccess
@@ -105,6 +105,9 @@ RewriteRule ^asinh.html$ mathFunctions.html RewriteRule ^asin.html$ mathFunctions.html RewriteRule ^asinpi.html$ mathFunctions.html +RewriteRule ^async_work_group_copy_2D2D.html$ extendedAsyncCopyFunctions.html +RewriteRule ^async_work_group_copy_3D3D.html$ extendedAsyncCopyFunctions.html +RewriteRule ^async_work_group_copy_fence.html$ asyncCopyFunctions.html RewriteRule ^async_work_group_copy.html$ asyncCopyFunctions.html RewriteRule ^async_work_group_strided_copy.html$ asyncCopyFunctions.html RewriteRule ^atan2.html$ mathFunctions.html @@ -125,6 +128,10 @@ RewriteRule ^atomic_uintptr_t.html$ atomicTypes.html RewriteRule ^atomic_ulong.html$ atomicTypes.html RewriteRule ^barrier.html$ syncFunctions.html +RewriteRule ^bitfield_extract_signed.html$ extendedBitOperations.html +RewriteRule ^bitfield_extract_unsigned.html$ extendedBitOperations.html +RewriteRule ^bitfield_insert.html$ extendedBitOperations.html +RewriteRule ^bit_reverse.html$ extendedBitOperations.html RewriteRule ^bitselect.html$ relationalFunctions.html RewriteRule ^capture_event_profiling_info.html$ eventFunctions.html RewriteRule ^cbrt.html$ mathFunctions.html @@ -133,7 +140,9 @@ RewriteRule ^cl_char.html$ appScalarTypes.html RewriteRule ^cl_charn.html$ appVectorTypes.html RewriteRule ^clCreateBufferWithProperties.html$ clCreateBuffer.html +RewriteRule ^clCreateCommandQueueWithPropertiesKHR.html$ clCreateCommandQueueWithProperties.html RewriteRule ^clCreateImageWithProperties.html$ clCreateImage.html +RewriteRule ^clCreateProgramWithILKHR.html$ clCreateProgramWithIL.html RewriteRule ^cl_double.html$ appScalarTypes.html RewriteRule ^cl_doublen.html$ appVectorTypes.html RewriteRule ^clEnqueueWriteBuffer.html$ clEnqueueReadBuffer.html @@ -160,6 +169,10 @@ RewriteRule ^CL_VERSION_1_0.html$ preprocessorDirectives.html RewriteRule ^CL_VERSION_1_1.html$ preprocessorDirectives.html RewriteRule ^CL_VERSION_1_2.html$ preprocessorDirectives.html +RewriteRule ^CL_VERSION_2_0.html$ preprocessorDirectives.html +RewriteRule ^CL_VERSION_2_1.html$ preprocessorDirectives.html +RewriteRule ^CL_VERSION_2_2.html$ preprocessorDirectives.html +RewriteRule ^CL_VERSION_3_0.html$ preprocessorDirectives.html RewriteRule ^clz.html$ integerFunctions.html RewriteRule ^commit_read_pipe.html$ pipeFunctions.html RewriteRule ^commit_write_pipe.html$ pipeFunctions.html @@ -377,17 +390,17 @@ RewriteRule ^vstore_halfn.html$ vectorDataLoadandStoreFunctions.html RewriteRule ^vstoren.html$ vectorDataLoadandStoreFunctions.html RewriteRule ^wait_group_events.html$ asyncCopyFunctions.html -RewriteRule ^work_group_all.html$ workGroupFunctions.html -RewriteRule ^work_group_any.html$ workGroupFunctions.html +RewriteRule ^work_group_all.html$ workGroupUniformArithmeticFunctions.html +RewriteRule ^work_group_any.html$ workGroupUniformArithmeticFunctions.html RewriteRule ^work_group_barrier.html$ syncFunctions.html -RewriteRule ^work_group_broadcast.html$ workGroupFunctions.html +RewriteRule ^work_group_broadcast.html$ workGroupUniformArithmeticFunctions.html RewriteRule ^work_group_commit_read_pipe.html$ pipeWorkgroupFunctions.html RewriteRule ^work_group_commit_write_pipe.html$ pipeWorkgroupFunctions.html -RewriteRule ^work_group_reduce.html$ workGroupFunctions.html +RewriteRule ^work_group_reduce.html$ workGroupUniformArithmeticFunctions.html RewriteRule ^work_group_reserve_read_pipe.html$ pipeWorkgroupFunctions.html RewriteRule ^work_group_reserve_write_pipe.html$ pipeWorkgroupFunctions.html -RewriteRule ^work_group_scan_exclusive.html$ workGroupFunctions.html -RewriteRule ^work_group_scan_inclusive.html$ workGroupFunctions.html +RewriteRule ^work_group_scan_exclusive.html$ workGroupUniformArithmeticFunctions.html +RewriteRule ^work_group_scan_inclusive.html$ workGroupUniformArithmeticFunctions.html RewriteRule ^work_group_size_hint.html$ optionalAttributeQualifiers.html RewriteRule ^write_imagef.html$ imageWriteFunctions.html RewriteRule ^write_imagei.html$ imageWriteFunctions.html
diff --git a/sdk/3.0/docs/man/html/ATOMIC_VAR_INIT.html b/sdk/3.0/docs/man/html/ATOMIC_VAR_INIT.html index ae423f1..5546058 100644 --- a/sdk/3.0/docs/man/html/ATOMIC_VAR_INIT.html +++ b/sdk/3.0/docs/man/html/ATOMIC_VAR_INIT.html
@@ -830,7 +830,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -840,8 +840,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/EXTENSION.html b/sdk/3.0/docs/man/html/EXTENSION.html index c7aa2bc..7381b1a 100644 --- a/sdk/3.0/docs/man/html/EXTENSION.html +++ b/sdk/3.0/docs/man/html/EXTENSION.html
@@ -1189,7 +1189,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1199,8 +1199,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/SELECT_ROUNDING_MODE.html b/sdk/3.0/docs/man/html/SELECT_ROUNDING_MODE.html new file mode 100644 index 0000000..0604dff --- /dev/null +++ b/sdk/3.0/docs/man/html/SELECT_ROUNDING_MODE.html
@@ -0,0 +1,914 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>SELECT_ROUNDING_MODE(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>SELECT_ROUNDING_MODE(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>SELECT_ROUNDING_MODE - Select rounding mode for a group of instructions</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div id="select-rounding-mode" class="paragraph"> +<p>If the <code>cl_khr_<wbr>select_<wbr>fprounding_<wbr>mode</code> extension macro is supported, the +floating-point rounding mode may be specified using the following <strong>#pragma</strong> +in the OpenCL program source:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">#pragma OPENCL SELECT_ROUNDING_MODE <rounding-mode></code></pre> +</div> +</div> +<div class="paragraph"> +<p>The <em><rounding-mode></em> may be one of the following values:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>rte</strong> - round to nearest even</p> +</li> +<li> +<p><strong>rtz</strong> - round to zero</p> +</li> +<li> +<p><strong>rtp</strong> - round to positive infinity</p> +</li> +<li> +<p><strong>rtn</strong> - round to negative infinity</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>If this extensions is supported then the OpenCL implementation must support +all four rounding modes for single precision floating-point.</p> +</div> +<div class="paragraph"> +<p>The <strong>#pragma</strong> sets the rounding mode for all instructions that operate on +floating-point types (scalar or vector types) or produce floating-point +values that follow this pragma in the program source until the next +<strong>#pragma</strong>. +Note that the rounding mode specified for a block of code is known at +compile time. +When inside a compound statement, the pragma takes effect from its +occurrence until another <strong>#pragma</strong> is encountered (including within a nested +compound statement), or until the end of the compound statement; at the end +of a compound statement the state for the pragma is restored to its +condition just before the compound statement. +Except where otherwise documented, the callee functions do not inherit the +rounding mode of the caller function.</p> +</div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>select_<wbr>fprounding_<wbr>mode</code> extension is enabled, the +<code>__ROUNDING_MODE__</code> preprocessor symbol shall be defined to be one of the +following according to the current rounding mode:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">#define __ROUNDING_MODE__ rte +#define __ROUNDING_MODE__ rtz +#define __ROUNDING_MODE__ rtp +#define __ROUNDING_MODE__ rtz</code></pre> +</div> +</div> +<div class="paragraph"> +<p>This is intended to enable remapping <code>foo()</code> to <code>foo_rte()</code> by the +preprocessor by using:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">#define foo foo ## __ROUNDING_MODE__</code></pre> +</div> +</div> +<div class="paragraph"> +<p>The default rounding mode is round to nearest even. +The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#math-functions" target="_blank" rel="noopener">Math Functions</a>, <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#common-functions" target="_blank" rel="noopener">Common +Functions</a>, and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#geometric-functions" target="_blank" rel="noopener">Geometric Functions</a> are +implemented with the round to nearest even rounding mode. +Various built-in conversions and the <strong>vstore_half</strong> and <strong>vstorea_half</strong> +built-in functions that do not specify a rounding mode inherit the current +rounding mode. +Conversions from floating-point to integer type always use <code>rtz</code> mode, +except where the user specifically asks for another rounding mode.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The <code>cl_khr_<wbr>select_<wbr>fprounding_<wbr>mode</code> extension was deprecated in +OpenCL 1.1, and its use is not recommended. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="fpMacros.html">fpMacros</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#select-rounding-mode-macro" target="_blank" rel="noopener">OpenCL C Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL C Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/abstractDataTypes.html b/sdk/3.0/docs/man/html/abstractDataTypes.html index b1b8689..91e3629 100644 --- a/sdk/3.0/docs/man/html/abstractDataTypes.html +++ b/sdk/3.0/docs/man/html/abstractDataTypes.html
@@ -916,7 +916,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -926,8 +926,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/accessQualifiers.html b/sdk/3.0/docs/man/html/accessQualifiers.html index 76d5e11..8d39865 100644 --- a/sdk/3.0/docs/man/html/accessQualifiers.html +++ b/sdk/3.0/docs/man/html/accessQualifiers.html
@@ -808,7 +808,7 @@ </div> </div> <div class="paragraph"> -<p>imageA is a read-only 2D image object, and image is a write-only 2D image +<p><code>imageA</code> is a read-only 2D image object, and <code>imageB</code> is a write-only 2D image object.</p> </div> <div class="paragraph"> @@ -855,7 +855,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -865,8 +865,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/addressOperator.html b/sdk/3.0/docs/man/html/addressOperator.html index 75a3a38..80d04a8 100644 --- a/sdk/3.0/docs/man/html/addressOperator.html +++ b/sdk/3.0/docs/man/html/addressOperator.html
@@ -815,7 +815,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -831,8 +831,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/addressSpaceQualifierFuncs.html b/sdk/3.0/docs/man/html/addressSpaceQualifierFuncs.html index 3b6bf04..a439085 100644 --- a/sdk/3.0/docs/man/html/addressSpaceQualifierFuncs.html +++ b/sdk/3.0/docs/man/html/addressSpaceQualifierFuncs.html
@@ -801,11 +801,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">global gentype * <strong>to_global</strong>(gentype *<em>ptr</em>)<br> const global gentype * <strong>to_global</strong>(const gentype *<em>ptr</em>)</p></td> @@ -860,7 +862,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -870,8 +872,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/addressSpaceQualifiers.html b/sdk/3.0/docs/man/html/addressSpaceQualifiers.html index cddcbf6..8849386 100644 --- a/sdk/3.0/docs/man/html/addressSpaceQualifiers.html +++ b/sdk/3.0/docs/man/html/addressSpaceQualifiers.html
@@ -890,7 +890,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -900,8 +900,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/alignmentOfDataTypes.html b/sdk/3.0/docs/man/html/alignmentOfDataTypes.html index 2f00b74..e901672 100644 --- a/sdk/3.0/docs/man/html/alignmentOfDataTypes.html +++ b/sdk/3.0/docs/man/html/alignmentOfDataTypes.html
@@ -835,7 +835,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -845,8 +845,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/appScalarTypes.html b/sdk/3.0/docs/man/html/appScalarTypes.html index 6eb083c..224e557 100644 --- a/sdk/3.0/docs/man/html/appScalarTypes.html +++ b/sdk/3.0/docs/man/html/appScalarTypes.html
@@ -799,7 +799,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="appVectorTypes.html">appVectorTypes</a>, <a href="clBuildProgram.html">clBuildProgram</a>, <a href="clCloneKernel.html">clCloneKernel</a>, <a href="clCompileProgram.html">clCompileProgram</a>, <a href="clCreateBuffer.html">clCreateBuffer</a>, <a href="clCreateBufferWithProperties.html">clCreateBufferWithProperties</a>, <a href="clCreateCommandQueue.html">clCreateCommandQueue</a>, <a href="clCreateCommandQueueWithProperties.html">clCreateCommandQueueWithProperties</a>, <a href="clCreateContext.html">clCreateContext</a>, <a href="clCreateContextFromType.html">clCreateContextFromType</a>, <a href="clCreateImage.html">clCreateImage</a>, <a href="clCreateImage2D.html">clCreateImage2D</a>, <a href="clCreateImage3D.html">clCreateImage3D</a>, <a href="clCreateImageWithProperties.html">clCreateImageWithProperties</a>, <a href="clCreateKernel.html">clCreateKernel</a>, <a href="clCreateKernelsInProgram.html">clCreateKernelsInProgram</a>, <a href="clCreatePipe.html">clCreatePipe</a>, <a href="clCreateProgramWithBinary.html">clCreateProgramWithBinary</a>, <a href="clCreateProgramWithBuiltInKernels.html">clCreateProgramWithBuiltInKernels</a>, <a href="clCreateProgramWithIL.html">clCreateProgramWithIL</a>, <a href="clCreateProgramWithSource.html">clCreateProgramWithSource</a>, <a href="clCreateSampler.html">clCreateSampler</a>, <a href="clCreateSamplerWithProperties.html">clCreateSamplerWithProperties</a>, <a href="clCreateSubBuffer.html">clCreateSubBuffer</a>, <a href="clCreateSubDevices.html">clCreateSubDevices</a>, <a href="clCreateUserEvent.html">clCreateUserEvent</a>, <a href="clEnqueueBarrierWithWaitList.html">clEnqueueBarrierWithWaitList</a>, <a href="clEnqueueCopyBuffer.html">clEnqueueCopyBuffer</a>, <a href="clEnqueueCopyBufferRect.html">clEnqueueCopyBufferRect</a>, <a href="clEnqueueCopyBufferToImage.html">clEnqueueCopyBufferToImage</a>, <a href="clEnqueueCopyImage.html">clEnqueueCopyImage</a>, <a href="clEnqueueCopyImageToBuffer.html">clEnqueueCopyImageToBuffer</a>, <a href="clEnqueueFillBuffer.html">clEnqueueFillBuffer</a>, <a href="clEnqueueFillImage.html">clEnqueueFillImage</a>, <a href="clEnqueueMapBuffer.html">clEnqueueMapBuffer</a>, <a href="clEnqueueMapImage.html">clEnqueueMapImage</a>, <a href="clEnqueueMarkerWithWaitList.html">clEnqueueMarkerWithWaitList</a>, <a href="clEnqueueMigrateMemObjects.html">clEnqueueMigrateMemObjects</a>, <a href="clEnqueueNDRangeKernel.html">clEnqueueNDRangeKernel</a>, <a href="clEnqueueNativeKernel.html">clEnqueueNativeKernel</a>, <a href="clEnqueueReadBuffer.html">clEnqueueReadBuffer</a>, <a href="clEnqueueReadBufferRect.html">clEnqueueReadBufferRect</a>, <a href="clEnqueueReadImage.html">clEnqueueReadImage</a>, <a href="clEnqueueSVMFree.html">clEnqueueSVMFree</a>, <a href="clEnqueueSVMMap.html">clEnqueueSVMMap</a>, <a href="clEnqueueSVMMemFill.html">clEnqueueSVMMemFill</a>, <a href="clEnqueueSVMMemcpy.html">clEnqueueSVMMemcpy</a>, <a href="clEnqueueSVMMigrateMem.html">clEnqueueSVMMigrateMem</a>, <a href="clEnqueueSVMUnmap.html">clEnqueueSVMUnmap</a>, <a href="clEnqueueTask.html">clEnqueueTask</a>, <a href="clEnqueueUnmapMemObject.html">clEnqueueUnmapMemObject</a>, <a href="clEnqueueWaitForEvents.html">clEnqueueWaitForEvents</a>, <a href="clEnqueueWriteBuffer.html">clEnqueueWriteBuffer</a>, <a href="clEnqueueWriteBufferRect.html">clEnqueueWriteBufferRect</a>, <a href="clEnqueueWriteImage.html">clEnqueueWriteImage</a>, <a href="clGetDeviceAndHostTimer.html">clGetDeviceAndHostTimer</a>, <a href="clGetDeviceIDs.html">clGetDeviceIDs</a>, <a href="clGetHostTimer.html">clGetHostTimer</a>, <a href="clGetKernelArgInfo.html">clGetKernelArgInfo</a>, <a href="clGetPlatformIDs.html">clGetPlatformIDs</a>, <a href="clGetSupportedImageFormats.html">clGetSupportedImageFormats</a>, <a href="clLinkProgram.html">clLinkProgram</a>, <a href="clSVMAlloc.html">clSVMAlloc</a>, <a href="clSetEventCallback.html">clSetEventCallback</a>, <a href="clSetKernelArg.html">clSetKernelArg</a>, <a href="clSetKernelArgSVMPointer.html">clSetKernelArgSVMPointer</a>, <a href="clSetProgramSpecializationConstant.html">clSetProgramSpecializationConstant</a>, <a href="clSetUserEventStatus.html">clSetUserEventStatus</a>, <a href="clWaitForEvents.html">clWaitForEvents</a>, <a href="cl_image_desc.html">cl_image_desc</a></p> +<p><a href="appVectorTypes.html">appVectorTypes</a>, <a href="clBuildProgram.html">clBuildProgram</a>, <a href="clCloneKernel.html">clCloneKernel</a>, <a href="clCommandBarrierWithWaitListKHR.html">clCommandBarrierWithWaitListKHR</a>, <a href="clCommandCopyBufferKHR.html">clCommandCopyBufferKHR</a>, <a href="clCommandCopyBufferRectKHR.html">clCommandCopyBufferRectKHR</a>, <a href="clCommandCopyBufferToImageKHR.html">clCommandCopyBufferToImageKHR</a>, <a href="clCommandCopyImageKHR.html">clCommandCopyImageKHR</a>, <a href="clCommandCopyImageToBufferKHR.html">clCommandCopyImageToBufferKHR</a>, <a href="clCommandFillBufferKHR.html">clCommandFillBufferKHR</a>, <a href="clCommandFillImageKHR.html">clCommandFillImageKHR</a>, <a href="clCommandNDRangeKernelKHR.html">clCommandNDRangeKernelKHR</a>, <a href="clCommandSVMMemFillKHR.html">clCommandSVMMemFillKHR</a>, <a href="clCommandSVMMemcpyKHR.html">clCommandSVMMemcpyKHR</a>, <a href="clCompileProgram.html">clCompileProgram</a>, <a href="clCreateBuffer.html">clCreateBuffer</a>, <a href="clCreateBufferWithProperties.html">clCreateBufferWithProperties</a>, <a href="clCreateCommandBufferKHR.html">clCreateCommandBufferKHR</a>, <a href="clCreateCommandQueue.html">clCreateCommandQueue</a>, <a href="clCreateCommandQueueWithProperties.html">clCreateCommandQueueWithProperties</a>, <a href="clCreateCommandQueueWithPropertiesKHR.html">clCreateCommandQueueWithPropertiesKHR</a>, <a href="clCreateContext.html">clCreateContext</a>, <a href="clCreateContextFromType.html">clCreateContextFromType</a>, <a href="clCreateEventFromEGLSyncKHR.html">clCreateEventFromEGLSyncKHR</a>, <a href="clCreateEventFromGLsyncKHR.html">clCreateEventFromGLsyncKHR</a>, <a href="clCreateFromD3D10BufferKHR.html">clCreateFromD3D10BufferKHR</a>, <a href="clCreateFromD3D10Texture2DKHR.html">clCreateFromD3D10Texture2DKHR</a>, <a href="clCreateFromD3D10Texture3DKHR.html">clCreateFromD3D10Texture3DKHR</a>, <a href="clCreateFromD3D11BufferKHR.html">clCreateFromD3D11BufferKHR</a>, <a href="clCreateFromD3D11Texture2DKHR.html">clCreateFromD3D11Texture2DKHR</a>, <a href="clCreateFromD3D11Texture3DKHR.html">clCreateFromD3D11Texture3DKHR</a>, <a href="clCreateFromDX9MediaSurfaceKHR.html">clCreateFromDX9MediaSurfaceKHR</a>, <a href="clCreateFromEGLImageKHR.html">clCreateFromEGLImageKHR</a>, <a href="clCreateFromGLBuffer.html">clCreateFromGLBuffer</a>, <a href="clCreateFromGLRenderbuffer.html">clCreateFromGLRenderbuffer</a>, <a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>, <a href="clCreateFromGLTexture2D.html">clCreateFromGLTexture2D</a>, <a href="clCreateFromGLTexture3D.html">clCreateFromGLTexture3D</a>, <a href="clCreateImage.html">clCreateImage</a>, <a href="clCreateImage2D.html">clCreateImage2D</a>, <a href="clCreateImage3D.html">clCreateImage3D</a>, <a href="clCreateImageWithProperties.html">clCreateImageWithProperties</a>, <a href="clCreateKernel.html">clCreateKernel</a>, <a href="clCreateKernelsInProgram.html">clCreateKernelsInProgram</a>, <a href="clCreatePipe.html">clCreatePipe</a>, <a href="clCreateProgramWithBinary.html">clCreateProgramWithBinary</a>, <a href="clCreateProgramWithBuiltInKernels.html">clCreateProgramWithBuiltInKernels</a>, <a href="clCreateProgramWithIL.html">clCreateProgramWithIL</a>, <a href="clCreateProgramWithILKHR.html">clCreateProgramWithILKHR</a>, <a href="clCreateProgramWithSource.html">clCreateProgramWithSource</a>, <a href="clCreateSampler.html">clCreateSampler</a>, <a href="clCreateSamplerWithProperties.html">clCreateSamplerWithProperties</a>, <a href="clCreateSemaphoreWithPropertiesKHR.html">clCreateSemaphoreWithPropertiesKHR</a>, <a href="clCreateSubBuffer.html">clCreateSubBuffer</a>, <a href="clCreateSubDevices.html">clCreateSubDevices</a>, <a href="clCreateUserEvent.html">clCreateUserEvent</a>, <a href="clEnqueueAcquireD3D10ObjectsKHR.html">clEnqueueAcquireD3D10ObjectsKHR</a>, <a href="clEnqueueAcquireD3D11ObjectsKHR.html">clEnqueueAcquireD3D11ObjectsKHR</a>, <a href="clEnqueueAcquireDX9MediaSurfacesKHR.html">clEnqueueAcquireDX9MediaSurfacesKHR</a>, <a href="clEnqueueAcquireEGLObjectsKHR.html">clEnqueueAcquireEGLObjectsKHR</a>, <a href="clEnqueueAcquireExternalMemObjectsKHR.html">clEnqueueAcquireExternalMemObjectsKHR</a>, <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, <a href="clEnqueueBarrierWithWaitList.html">clEnqueueBarrierWithWaitList</a>, <a href="clEnqueueCommandBufferKHR.html">clEnqueueCommandBufferKHR</a>, <a href="clEnqueueCopyBuffer.html">clEnqueueCopyBuffer</a>, <a href="clEnqueueCopyBufferRect.html">clEnqueueCopyBufferRect</a>, <a href="clEnqueueCopyBufferToImage.html">clEnqueueCopyBufferToImage</a>, <a href="clEnqueueCopyImage.html">clEnqueueCopyImage</a>, <a href="clEnqueueCopyImageToBuffer.html">clEnqueueCopyImageToBuffer</a>, <a href="clEnqueueFillBuffer.html">clEnqueueFillBuffer</a>, <a href="clEnqueueFillImage.html">clEnqueueFillImage</a>, <a href="clEnqueueMapBuffer.html">clEnqueueMapBuffer</a>, <a href="clEnqueueMapImage.html">clEnqueueMapImage</a>, <a href="clEnqueueMarkerWithWaitList.html">clEnqueueMarkerWithWaitList</a>, <a href="clEnqueueMigrateMemObjects.html">clEnqueueMigrateMemObjects</a>, <a href="clEnqueueNDRangeKernel.html">clEnqueueNDRangeKernel</a>, <a href="clEnqueueNativeKernel.html">clEnqueueNativeKernel</a>, <a href="clEnqueueReadBuffer.html">clEnqueueReadBuffer</a>, <a href="clEnqueueReadBufferRect.html">clEnqueueReadBufferRect</a>, <a href="clEnqueueReadImage.html">clEnqueueReadImage</a>, <a href="clEnqueueReleaseD3D10ObjectsKHR.html">clEnqueueReleaseD3D10ObjectsKHR</a>, <a href="clEnqueueReleaseD3D11ObjectsKHR.html">clEnqueueReleaseD3D11ObjectsKHR</a>, <a href="clEnqueueReleaseDX9MediaSurfacesKHR.html">clEnqueueReleaseDX9MediaSurfacesKHR</a>, <a href="clEnqueueReleaseEGLObjectsKHR.html">clEnqueueReleaseEGLObjectsKHR</a>, <a href="clEnqueueReleaseExternalMemObjectsKHR.html">clEnqueueReleaseExternalMemObjectsKHR</a>, <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, <a href="clEnqueueSVMFree.html">clEnqueueSVMFree</a>, <a href="clEnqueueSVMMap.html">clEnqueueSVMMap</a>, <a href="clEnqueueSVMMemFill.html">clEnqueueSVMMemFill</a>, <a href="clEnqueueSVMMemcpy.html">clEnqueueSVMMemcpy</a>, <a href="clEnqueueSVMMigrateMem.html">clEnqueueSVMMigrateMem</a>, <a href="clEnqueueSVMUnmap.html">clEnqueueSVMUnmap</a>, <a href="clEnqueueSignalSemaphoresKHR.html">clEnqueueSignalSemaphoresKHR</a>, <a href="clEnqueueTask.html">clEnqueueTask</a>, <a href="clEnqueueUnmapMemObject.html">clEnqueueUnmapMemObject</a>, <a href="clEnqueueWaitForEvents.html">clEnqueueWaitForEvents</a>, <a href="clEnqueueWaitSemaphoresKHR.html">clEnqueueWaitSemaphoresKHR</a>, <a href="clEnqueueWriteBuffer.html">clEnqueueWriteBuffer</a>, <a href="clEnqueueWriteBufferRect.html">clEnqueueWriteBufferRect</a>, <a href="clEnqueueWriteImage.html">clEnqueueWriteImage</a>, <a href="clGetDeviceAndHostTimer.html">clGetDeviceAndHostTimer</a>, <a href="clGetDeviceIDs.html">clGetDeviceIDs</a>, <a href="clGetDeviceIDsFromD3D10KHR.html">clGetDeviceIDsFromD3D10KHR</a>, <a href="clGetDeviceIDsFromD3D11KHR.html">clGetDeviceIDsFromD3D11KHR</a>, <a href="clGetDeviceIDsFromDX9MediaAdapterKHR.html">clGetDeviceIDsFromDX9MediaAdapterKHR</a>, <a href="clGetHostTimer.html">clGetHostTimer</a>, <a href="clGetKernelArgInfo.html">clGetKernelArgInfo</a>, <a href="clGetKernelSuggestedLocalWorkSizeKHR.html">clGetKernelSuggestedLocalWorkSizeKHR</a>, <a href="clGetPlatformIDs.html">clGetPlatformIDs</a>, <a href="clGetSupportedImageFormats.html">clGetSupportedImageFormats</a>, <a href="clIcdGetPlatformIDsKHR.html">clIcdGetPlatformIDsKHR</a>, <a href="clLinkProgram.html">clLinkProgram</a>, <a href="clRemapCommandBufferKHR.html">clRemapCommandBufferKHR</a>, <a href="clSVMAlloc.html">clSVMAlloc</a>, <a href="clSetEventCallback.html">clSetEventCallback</a>, <a href="clSetKernelArg.html">clSetKernelArg</a>, <a href="clSetKernelArgSVMPointer.html">clSetKernelArgSVMPointer</a>, <a href="clSetProgramSpecializationConstant.html">clSetProgramSpecializationConstant</a>, <a href="clSetUserEventStatus.html">clSetUserEventStatus</a>, <a href="clWaitForEvents.html">clWaitForEvents</a>, <a href="cl_device_pci_bus_info_khr.html">cl_device_pci_bus_info_khr</a>, <a href="cl_image_desc.html">cl_image_desc</a>, <a href="cl_mutable_base_config_khr.html">cl_mutable_base_config_khr</a>, <a href="cl_mutable_dispatch_arg_khr.html">cl_mutable_dispatch_arg_khr</a>, <a href="cl_mutable_dispatch_config_khr.html">cl_mutable_dispatch_config_khr</a>, <a href="cl_mutable_dispatch_exec_info_khr.html">cl_mutable_dispatch_exec_info_khr</a></p> </div> </div> </div> @@ -819,7 +819,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -829,8 +829,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/appVectorTypes.html b/sdk/3.0/docs/man/html/appVectorTypes.html index ee98b24..65c15fc 100644 --- a/sdk/3.0/docs/man/html/appVectorTypes.html +++ b/sdk/3.0/docs/man/html/appVectorTypes.html
@@ -828,7 +828,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -838,8 +838,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/arithmeticOperators.html b/sdk/3.0/docs/man/html/arithmeticOperators.html index 67ec7b5..8d8eea5 100644 --- a/sdk/3.0/docs/man/html/arithmeticOperators.html +++ b/sdk/3.0/docs/man/html/arithmeticOperators.html
@@ -843,7 +843,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -853,8 +853,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/as_typen.html b/sdk/3.0/docs/man/html/as_typen.html index a6e1ab5..815090a 100644 --- a/sdk/3.0/docs/man/html/as_typen.html +++ b/sdk/3.0/docs/man/html/as_typen.html
@@ -834,7 +834,7 @@ float4 f; // Error. Result and operand have different sizes -double4 g = as_double4(f); // Only if double precision is supported. +double4 g = as_double4(f); // Only if double-precision is supported. float4 f; // Legal. g.xyz will have same values as f.xyz. g.w is undefined @@ -867,7 +867,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -878,7 +878,7 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Unless the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. +<a href="#_footnoteref_1">1</a>. Unless the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. While the union is intended to reflect the organization of data in memory, the <strong>as_type</strong>() and <strong>as_type<em>n</em></strong>() constructs are intended to reflect the organization of data in register. The <strong>as_type</strong>() and <strong>as_type<em>n</em></strong>() constructs are intended to compile to no instructions on devices that use a shared register file designed to operate on both the operand and result types. Note that while differences in memory organization are expected to largely be limited to those arising from endianness, the register based representation may also differ due to size of the element in register. For example, an architecture may load a <code>char</code> into a 32-bit register, or a <code>char</code> vector into a SIMD vector register with fixed 32-bit element size. If the element count does not match, then the implementation should pick a data representation that most closely matches what would happen if an appropriate result type operator was applied to a register containing data of the source type. If the number of elements matches, then the <strong>as_type<em>n</em></strong>() should faithfully reproduce the behavior expected from a similar data type reinterpretation using memory/unions. So, for example if an implementation stores all single precision data as <code>double</code> in register, it should implement <strong>as_int</strong>(<code>float</code>) by first down-converting the <code>double</code> to single precision and then (if necessary) moving the single precision bits to a register suitable for operating on integer data. If data stored in different address spaces do not have the same endianness, then the “dominant endianness” of the device should prevail. @@ -886,8 +886,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/assignmentOperator.html b/sdk/3.0/docs/man/html/assignmentOperator.html index c3fa760..b168ce3 100644 --- a/sdk/3.0/docs/man/html/assignmentOperator.html +++ b/sdk/3.0/docs/man/html/assignmentOperator.html
@@ -885,7 +885,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -895,8 +895,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/asyncCopyFunctions.html b/sdk/3.0/docs/man/html/asyncCopyFunctions.html index 38a9119..21ec530 100644 --- a/sdk/3.0/docs/man/html/asyncCopyFunctions.html +++ b/sdk/3.0/docs/man/html/asyncCopyFunctions.html
@@ -799,14 +799,50 @@ or wait group events function on that iteration.</p> </div> <div class="paragraph"> -<p>We use the generic type name <code>gentype</code> to indicate the built-in data types <code>char</code>, -<code>char<em>n</em></code>, <code>uchar</code>, <code>uchar<em>n</em></code>, <code>short</code>, <code>short<em>n</em></code>, -<code>ushort</code>, <code>ushort<em>n</em></code>, <code>int</code>, <code>int<em>n</em></code>, <code>uint</code>, -<code>uint<em>n</em></code>, <code>long</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>long<em>n</em></code>, -<code>ulong</code>, <code>ulong<em>n</em></code>, <code>float</code>, <code>float<em>n</em></code>, <code>double</code> -<sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, and <code>double<em>n</em></code> as the type for -the arguments unless otherwise stated. -<em>n</em> is 2, 3 <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup>, 4, 8, or 16.</p> +<p>The generic type name <code>gentype</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>char</code>, <code>char<em>n</em></code>, <code>uchar</code>, or <code>uchar<em>n</em></code></p> +</li> +<li> +<p><code>short</code>, <code>short<em>n</em></code>, <code>ushort</code>, or <code>ushort<em>n</em></code></p> +</li> +<li> +<p><code>int</code>, <code>int<em>n</em></code>, <code>uint</code>, or <code>uint<em>n</em></code></p> +</li> +<li> +<p><code>long</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>long<em>n</em></code>, <code>ulong</code>, or +<code>ulong<em>n</em></code></p> +</li> +<li> +<p><code>float</code>, <code>float<em>n</em></code></p> +</li> +<li> +<p><code>double</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> or <code>double<em>n</em></code></p> +</li> +<li> +<p><code>half</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup> or <code>half<em>n</em></code></p> +</li> +</ul> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +All functions taking or returning <code>half</code> types are supported only when +the <code>cl_khr_<wbr>fp16</code> extension macro is supported. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>as the type for the arguments unless otherwise stated. +<em>n</em> is 2, 3 <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup>, 4, 8, or 16.</p> </div> <table id="table-builtin-async-copy" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Async Copy and Prefetch Functions</caption> @@ -814,19 +850,23 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">event_t <strong>async_work_group_copy</strong>(__local gentype <em>*dst</em>, +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p>event_t <strong>async_work_group_copy</strong>(__local gentype <em>*dst</em>, const __global gentype *<em>src</em>, size_t <em>num_gentypes</em>, event_t <em>event</em>)<br> event_t <strong>async_work_group_copy</strong>(__global gentype <em>*dst</em>, - const __local gentype *<em>src</em>, size_t <em>num_gentypes</em>, event_t <em>event</em>)</p></td> + const __local gentype *<em>src</em>, size_t <em>num_gentypes</em>, event_t <em>event</em>)</p> +</div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Perform an async copy of <em>num_gentypes</em> gentype elements from <em>src</em> to - <em>dst</em>. - Returns an event object that can be used by <strong>wait_group_events</strong> to + <em>dst</em>.</p> +<p class="tableblock"> Returns an event object that can be used by <strong>wait_group_events</strong> to wait for the async copy to finish. The <em>event</em> argument can also be used to associate the <strong>async_work_group_copy</strong> with a previous async copy allowing an event @@ -839,16 +879,18 @@ data such as using a <strong>barrier</strong> before performing the copy.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><div class="content"></div></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">event_t <strong>async_work_group_strided_copy</strong>(__local gentype <em>*dst</em>, +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p>event_t <strong>async_work_group_strided_copy</strong>(__local gentype <em>*dst</em>, const __global gentype *<em>src</em>, size_t <em>num_gentypes</em>, size_t <em>src_stride</em>, event_t <em>event</em>)<br> event_t <strong>async_work_group_strided_copy</strong>(__global gentype <em>*dst</em>, const __local gentype *<em>src</em>, size_t <em>num_gentypes</em>, size_t <em>dst_stride</em>, - event_t <em>event</em>)</p></td> + event_t <em>event</em>)</p> +</div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Perform an async gather of <em>num_gentypes</em> <code>gentype</code> elements from <em>src</em> to <em>dst</em>. The <em>src_stride</em> is the stride in elements for each <code>gentype</code> @@ -873,27 +915,61 @@ <p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.1 or newer.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><div class="content"></div></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>wait_group_events</strong>(int <em>num_events</em>, event_t *<em>event_list</em>)</p></td> +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p>void <strong>wait_group_events</strong>(int <em>num_events</em>, event_t *<em>event_list</em>)</p> +</div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Wait for events that identify the <strong>async_work_group_copy</strong> operations to complete. The event objects specified in <em>event_list</em> will be released after the wait is performed.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><div class="content"></div></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>prefetch</strong>(const __global gentype *<em>p</em>, size_t <em>num_gentypes</em>)</p></td> +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p>void <strong>prefetch</strong>(const __global gentype *<em>p</em>, size_t <em>num_gentypes</em>)</p> +</div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Prefetch <code><em>num_gentypes</em> * sizeof(gentype)</code> bytes into the global cache. The prefetch instruction is applied to a work-item in a work-group and does not affect the functional behavior of the kernel.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void async_work_group_copy_fence( + cl_mem_fence_flags flags)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Orders async copies produced by the work-items of a work-group + executing a kernel. + Async copies preceding the <strong>async_work_group_copy_fence</strong> must complete + their access to the designated memory or memories, including both + reads-from and writes-to it, before async copies following the fence + are allowed to start accessing these memories. + In other words, every async copy preceding the + <strong>async_work_group_copy_fence</strong> must happen-before every async copy + following the fence, with respect to the designated memory or + memories.</p> +<p class="tableblock"> The <em>flags</em> argument specifies the memory address space and can be set + to a combination of the following literal values:</p> +<p class="tableblock"> <code>CLK_LOCAL_MEM_FENCE</code><br> + <code>CLK_GLOBAL_MEM_FENCE</code></p> +<p class="tableblock"> The async fence is performed by all work-items in a work-group and + this built-in function must therefore be encountered by all work-items + in a work-group executing the kernel with the same argument values; + otherwise the results are undefined. + This rule applies to ND-ranges implemented with uniform and + non-uniform work-groups.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>async_<wbr>work_<wbr>group_<wbr>copy_<wbr>fence</code> extension macro.</p></td> +</tr> </tbody> </table> <div class="admonitionblock note"> @@ -938,7 +1014,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -949,19 +1025,22 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_2">2</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. <strong>async_work_group_copy</strong> and <strong>async_work_group_strided_copy</strong> for 3-component vector types behave as <strong>async_work_group_copy</strong> and <strong>async_work_group_strided_copy</strong> respectively for 4-component vector types. +<a href="#_footnoteref_3">3</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_4"> +<a href="#_footnoteref_4">4</a>. <strong>async_work_group_copy</strong> and <strong>async_work_group_strided_copy</strong> for 3-component vector types behave as <strong>async_work_group_copy</strong> and <strong>async_work_group_strided_copy</strong> respectively for 4-component vector types. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomicFlagTestAndSet.html b/sdk/3.0/docs/man/html/atomicFlagTestAndSet.html index f3b2b3c..c2e1a1e 100644 --- a/sdk/3.0/docs/man/html/atomicFlagTestAndSet.html +++ b/sdk/3.0/docs/man/html/atomicFlagTestAndSet.html
@@ -887,7 +887,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -897,8 +897,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomicFunctions.html b/sdk/3.0/docs/man/html/atomicFunctions.html index f58847f..b0c3ec5 100644 --- a/sdk/3.0/docs/man/html/atomicFunctions.html +++ b/sdk/3.0/docs/man/html/atomicFunctions.html
@@ -847,7 +847,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -857,8 +857,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomicRestrictions.html b/sdk/3.0/docs/man/html/atomicRestrictions.html index f0db509..0800975 100644 --- a/sdk/3.0/docs/man/html/atomicRestrictions.html +++ b/sdk/3.0/docs/man/html/atomicRestrictions.html
@@ -828,8 +828,9 @@ </li> <li> <p>Using <code>memory_scope_sub_group</code> with any built-in atomic function -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for OpenCL C 3.0 or newer and the -<code>__opencl_c_<wbr>subgroups</code> feature.</p> + <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for + OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> feature.</p> </li> <li> <p>Using <code>memory_scope_device</code> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for OpenCL @@ -873,7 +874,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -883,8 +884,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomicTypes.html b/sdk/3.0/docs/man/html/atomicTypes.html index 7c4c3b5..1d72d9b 100644 --- a/sdk/3.0/docs/man/html/atomicTypes.html +++ b/sdk/3.0/docs/man/html/atomicTypes.html
@@ -846,7 +846,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -857,19 +857,19 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. The atomic_long and atomic_ulong types are supported if the <strong>cl_khr_int64_base_atomics</strong> and <strong>cl_khr_int64_extended_atomics</strong> extensions are supported and have been enabled. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_int64</code> feature. +<a href="#_footnoteref_1">1</a>. The atomic_long and atomic_ulong types are supported if the <code>cl_khr_<wbr>int64_<wbr>base_<wbr>atomics</code> and <code>cl_khr_<wbr>int64_<wbr>extended_<wbr>atomics</code> extensions are supported and have been enabled. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>int64</code> feature. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. The <code>atomic_double</code> type is only supported if double precision is supported and the <strong>cl_khr_int64_base_atomics</strong> and <strong>cl_khr_int64_extended_atomics</strong> extensions are supported and have been enabled. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_fp64</code> feature. +<a href="#_footnoteref_2">2</a>. The <code>atomic_double</code> type is only supported if double precision is supported and the <code>cl_khr_<wbr>int64_<wbr>base_<wbr>atomics</code> and <code>cl_khr_<wbr>int64_<wbr>extended_<wbr>atomics</code> extensions are supported and have been enabled. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>fp64</code> feature. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. If the device address space is 64-bits, the data types <code>atomic_intptr_t</code>, <code>atomic_uintptr_t</code>, <code>atomic_size_t</code> and <code>atomic_ptrdiff_t</code> are supported if the <strong>cl_khr_int64_base_atomics</strong> and <strong>cl_khr_int64_extended_atomics</strong> extensions are supported and have been enabled. +<a href="#_footnoteref_3">3</a>. If the device address space is 64-bits, the data types <code>atomic_intptr_t</code>, <code>atomic_uintptr_t</code>, <code>atomic_size_t</code> and <code>atomic_ptrdiff_t</code> are supported if the <code>cl_khr_<wbr>int64_<wbr>base_<wbr>atomics</code> and <code>cl_khr_<wbr>int64_<wbr>extended_<wbr>atomics</code> extensions are supported and have been enabled. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_compare_exchange.html b/sdk/3.0/docs/man/html/atomic_compare_exchange.html index 22a8d07..7d13d8b 100644 --- a/sdk/3.0/docs/man/html/atomic_compare_exchange.html +++ b/sdk/3.0/docs/man/html/atomic_compare_exchange.html
@@ -1146,7 +1146,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1162,8 +1162,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_exchange.html b/sdk/3.0/docs/man/html/atomic_exchange.html index 61a0593..46cbccb 100644 --- a/sdk/3.0/docs/man/html/atomic_exchange.html +++ b/sdk/3.0/docs/man/html/atomic_exchange.html
@@ -886,7 +886,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -896,8 +896,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_fetch_key.html b/sdk/3.0/docs/man/html/atomic_fetch_key.html index 6c73178..1a9b5cf 100644 --- a/sdk/3.0/docs/man/html/atomic_fetch_key.html +++ b/sdk/3.0/docs/man/html/atomic_fetch_key.html
@@ -786,12 +786,14 @@ <col style="width: 33.3333%;"> <col style="width: 33.3334%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>key</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>op</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>computation</strong></p></td> +<th class="tableblock halign-left valign-top"><strong>key</strong></th> +<th class="tableblock halign-left valign-top"><strong>op</strong></th> +<th class="tableblock halign-left valign-top"><strong>computation</strong></th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>add</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>+</strong></p></td> @@ -964,7 +966,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -974,8 +976,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_flag.html b/sdk/3.0/docs/man/html/atomic_flag.html index 3bbb95f..7c92018 100644 --- a/sdk/3.0/docs/man/html/atomic_flag.html +++ b/sdk/3.0/docs/man/html/atomic_flag.html
@@ -826,7 +826,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -836,8 +836,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_flag_clear.html b/sdk/3.0/docs/man/html/atomic_flag_clear.html index 721f85d..921b5c5 100644 --- a/sdk/3.0/docs/man/html/atomic_flag_clear.html +++ b/sdk/3.0/docs/man/html/atomic_flag_clear.html
@@ -884,7 +884,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -894,8 +894,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_init.html b/sdk/3.0/docs/man/html/atomic_init.html index d245869..e17ddb4 100644 --- a/sdk/3.0/docs/man/html/atomic_init.html +++ b/sdk/3.0/docs/man/html/atomic_init.html
@@ -776,7 +776,7 @@ <div class="sectionbody"> <div class="paragraph"> <p>The <code>atomic_init</code> function non-atomically initializes the atomic object -pointed to by obj to the value value.</p> +pointed to by <em>obj</em> to the value <em>value</em>.</p> </div> <div class="listingblock"> <div class="content"> @@ -841,7 +841,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -851,8 +851,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_load.html b/sdk/3.0/docs/man/html/atomic_load.html index 83b9bc8..1433040 100644 --- a/sdk/3.0/docs/man/html/atomic_load.html +++ b/sdk/3.0/docs/man/html/atomic_load.html
@@ -878,7 +878,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -888,8 +888,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_store.html b/sdk/3.0/docs/man/html/atomic_store.html index 8e9ac8f..dca98ee 100644 --- a/sdk/3.0/docs/man/html/atomic_store.html +++ b/sdk/3.0/docs/man/html/atomic_store.html
@@ -885,7 +885,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -895,8 +895,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/atomic_work_item_fence.html b/sdk/3.0/docs/man/html/atomic_work_item_fence.html index b81a579..b5b73c6 100644 --- a/sdk/3.0/docs/man/html/atomic_work_item_fence.html +++ b/sdk/3.0/docs/man/html/atomic_work_item_fence.html
@@ -872,7 +872,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -882,8 +882,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/attributes-blocksAndControlFlow.html b/sdk/3.0/docs/man/html/attributes-blocksAndControlFlow.html index 588f685..6a92c95 100644 --- a/sdk/3.0/docs/man/html/attributes-blocksAndControlFlow.html +++ b/sdk/3.0/docs/man/html/attributes-blocksAndControlFlow.html
@@ -819,7 +819,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -829,8 +829,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/attributes-loopUnroll.html b/sdk/3.0/docs/man/html/attributes-loopUnroll.html index 4cf39d8..1d134fe 100644 --- a/sdk/3.0/docs/man/html/attributes-loopUnroll.html +++ b/sdk/3.0/docs/man/html/attributes-loopUnroll.html
@@ -929,7 +929,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -939,8 +939,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/attributes-types.html b/sdk/3.0/docs/man/html/attributes-types.html index dd00ff0..cd30a3b 100644 --- a/sdk/3.0/docs/man/html/attributes-types.html +++ b/sdk/3.0/docs/man/html/attributes-types.html
@@ -826,7 +826,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -836,8 +836,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/attributes-variables.html b/sdk/3.0/docs/man/html/attributes-variables.html index 081d0e0..65fe015 100644 --- a/sdk/3.0/docs/man/html/attributes-variables.html +++ b/sdk/3.0/docs/man/html/attributes-variables.html
@@ -968,7 +968,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -978,8 +978,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/bitwiseOperators.html b/sdk/3.0/docs/man/html/bitwiseOperators.html index 6bcde94..0b47084 100644 --- a/sdk/3.0/docs/man/html/bitwiseOperators.html +++ b/sdk/3.0/docs/man/html/bitwiseOperators.html
@@ -784,7 +784,9 @@ vector operand. The scalar type is then widened to a vector that has the same number of components as the vector operand. -The operation is done component-wise resulting in the same size vector.</p> +The operation is done component-wise resulting in the same size vector. +Vector source operands of type <code>_half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> +return a <code>short<em>n</em></code> result.</p> </div> </div> </div> @@ -812,7 +814,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -820,10 +822,16 @@ </div> </div> </div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +</div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/blocks.html b/sdk/3.0/docs/man/html/blocks.html index 501748e..727102a 100644 --- a/sdk/3.0/docs/man/html/blocks.html +++ b/sdk/3.0/docs/man/html/blocks.html
@@ -825,7 +825,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -841,8 +841,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clBuildProgram.html b/sdk/3.0/docs/man/html/clBuildProgram.html index df592a9..a710301 100644 --- a/sdk/3.0/docs/man/html/clBuildProgram.html +++ b/sdk/3.0/docs/man/html/clBuildProgram.html
@@ -779,7 +779,8 @@ </div> <div id="clBuildProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clBuildProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clBuildProgram( cl_program program, cl_uint num_devices, const cl_device_id* device_list, @@ -908,9 +909,10 @@ </li> <li> <p><code>CL_COMPILER_<wbr>NOT_<wbr>AVAILABLE</code> if <em>program</em> is created with -<strong>clCreateProgramWithSource</strong> or <strong>clCreateProgramWithIL</strong> and a compiler is -not available, i.e. <code>CL_DEVICE_<wbr>COMPILER_<wbr>AVAILABLE</code> specified in the -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#device-queries-table" target="_blank" rel="noopener">Device Queries</a> table is set to <code>CL_FALSE</code>.</p> +<strong>clCreateProgramWithILKHR</strong>, + <strong>clCreateProgramWithSource</strong> or <strong>clCreateProgramWithIL</strong> and a compiler is + not available, i.e. <code>CL_DEVICE_<wbr>COMPILER_<wbr>AVAILABLE</code> specified in the + <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#device-queries-table" target="_blank" rel="noopener">Device Queries</a> table is set to <code>CL_FALSE</code>.</p> </li> <li> <p><code>CL_BUILD_<wbr>PROGRAM_<wbr>FAILURE</code> if there is a failure to build the program @@ -967,7 +969,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -977,8 +979,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCloneKernel.html b/sdk/3.0/docs/man/html/clCloneKernel.html index ab70e2f..3849ccd 100644 --- a/sdk/3.0/docs/man/html/clCloneKernel.html +++ b/sdk/3.0/docs/man/html/clCloneKernel.html
@@ -779,7 +779,8 @@ </div> <div id="clCloneKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_kernel clCloneKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_kernel clCloneKernel( cl_kernel source_kernel, cl_int* errcode_ret);</code></pre> </div> @@ -898,7 +899,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -908,8 +909,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCommandBarrierWithWaitListKHR.html b/sdk/3.0/docs/man/html/clCommandBarrierWithWaitListKHR.html new file mode 100644 index 0000000..cf9b4a5 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandBarrierWithWaitListKHR.html
@@ -0,0 +1,969 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandBarrierWithWaitListKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandBarrierWithWaitListKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandBarrierWithWaitListKHR - Record a barrier operation to a command-queue</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a barrier operation used as a synchronization point, call the +function</p> +</div> +<div id="clCommandBarrierWithWaitListKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandBarrierWithWaitListKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandBarrierWithWaitListKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded +to. +This parameter is unused, as only a single +command-queue is supported, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> +must be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, then this particular command +waits until all previous recorded commands to <em>command_queue</em> have +completed.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this barrier command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><strong>clCommandBarrierWithWaitListKHR</strong> waits for either a list of +synchronization-points to complete, or if the list is empty it waits for all +commands previously recorded in <em>command_buffer</em> to complete before it +completes. +This command blocks command execution, that is, any following commands +recorded after it do not execute until it completes.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCommandBarrierWithWaitListKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em> and +<em>command_buffer</em> is not the same.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandBarrierWithWaitListKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandCopyBufferKHR.html b/sdk/3.0/docs/man/html/clCommandCopyBufferKHR.html new file mode 100644 index 0000000..451da3a --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandCopyBufferKHR.html
@@ -0,0 +1,984 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandCopyBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandCopyBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandCopyBufferKHR - Record a command to copy between two buffer objects</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to copy from one buffer object to another, call the +function</p> +</div> +<div id="clCommandCopyBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandCopyBufferKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem src_buffer, + cl_mem dst_buffer, + size_t src_offset, + size_t dst_offset, + size_t size, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandCopyBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>src_buffer</em>, <em>dst_buffer</em>, <em>src_offset</em>, <em>dst_offset</em>, <em>size</em> refer +to <strong>clEnqueueCopyBuffer</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> +must be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clCommandCopyBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueCopyBuffer</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, <em>src_buffer</em>, and <em>dst_buffer</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandCopyBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandCopyBufferRectKHR.html b/sdk/3.0/docs/man/html/clCommandCopyBufferRectKHR.html new file mode 100644 index 0000000..0d3e718 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandCopyBufferRectKHR.html
@@ -0,0 +1,1016 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandCopyBufferRectKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandCopyBufferRectKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandCopyBufferRectKHR - Record a command to copy a rectangular region from one buffer object to another</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to copy a rectangular region from a buffer object to +another buffer object, call the function</p> +</div> +<div id="clCommandCopyBufferRectKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandCopyBufferRectKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem src_buffer, + cl_mem dst_buffer, + const size_t* src_origin, + const size_t* dst_origin, + const size_t* region, + size_t src_row_pitch, + size_t src_slice_pitch, + size_t dst_row_pitch, + size_t dst_slice_pitch, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandCopyBufferRectKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>src_origin</em>, <em>dst_origin</em>, <em>region</em>, <em>src_row_pitch</em>, +<em>src_slice_pitch</em>, <em>dst_row_pitch</em>, <em>dst_slice_pitch</em> refer to +<strong>clEnqueueCopyBufferRect</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must +be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><strong>clCommandCopyBufferRectKHR</strong> records a command to copy a 2D or 3D rectangular +region from the buffer object identified by <em>src_buffer</em> to a 2D or 3D region +in the buffer object identified by <em>dst_buffer</em>. +Copying begins at the source offset and destination offset which are +computed as described in the description for <em>src_origin</em> and <em>dst_origin</em>.</p> +</div> +<div class="paragraph"> +<p>Each byte of the region’s width is copied from the source offset to the +destination offset. +After copying each width, the source and destination offsets are incremented +by their respective source and destination row pitches. +After copying each 2D rectangle, the source and destination offsets are +incremented by their respective source and destination slice pitches.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCommandCopyBufferRectKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueCopyBufferRect</strong> +except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, <em>src_buffer</em>, and <em>dst_buffer</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandCopyBufferRectKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandCopyBufferToImageKHR.html b/sdk/3.0/docs/man/html/clCommandCopyBufferToImageKHR.html new file mode 100644 index 0000000..885c151 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandCopyBufferToImageKHR.html
@@ -0,0 +1,985 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandCopyBufferToImageKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandCopyBufferToImageKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandCopyBufferToImageKHR - Record a command to copy a buffer object to an image object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to copy a buffer object to an image object, call the +function</p> +</div> +<div id="clCommandCopyBufferToImageKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandCopyBufferToImageKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem src_buffer, + cl_mem dst_image, + size_t src_offset, + const size_t* dst_origin, + const size_t* region, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandCopyBufferToImageKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>src_buffer</em>, <em>dst_image</em>, <em>src_offset</em>, <em>dst_origin</em>, <em>region</em> refer to +<strong>clEnqueueCopyBufferToImage</strong></p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must +be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clCommandCopyBufferToImageKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueCopyBufferToImage</strong> +except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, <em>src_buffer</em>, and <em>dst_image</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandCopyBufferToImageKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandCopyImageKHR.html b/sdk/3.0/docs/man/html/clCommandCopyImageKHR.html new file mode 100644 index 0000000..796bd48 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandCopyImageKHR.html
@@ -0,0 +1,1000 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandCopyImageKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandCopyImageKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandCopyImageKHR - Record a command to copy between two image objects</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to copy between two image objects, call the function</p> +</div> +<div id="clCommandCopyImageKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandCopyImageKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem src_image, + cl_mem dst_image, + const size_t* src_origin, + const size_t* dst_origin, + const size_t* region, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandCopyImageKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>src_image</em>, <em>dst_image</em>, <em>src_origin</em>, <em>dst_origin</em>, <em>region</em> refer to +<strong>clEnqueueCopyImage</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must +be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>It is currently a requirement that the <em>src_image</em> and <em>dst_image</em> image +memory objects for <strong>clCommandCopyImageKHR</strong> must have the exact same image +format, i.e. the <code>cl_image_<wbr>format</code> descriptor specified when +<em>src_image</em> and <em>dst_image</em> are created must match.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCommandCopyImageKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueCopyImage</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, <em>src_image</em>, and <em>dst_image</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandCopyImageKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandCopyImageToBufferKHR.html b/sdk/3.0/docs/man/html/clCommandCopyImageToBufferKHR.html new file mode 100644 index 0000000..c4e8883 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandCopyImageToBufferKHR.html
@@ -0,0 +1,985 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandCopyImageToBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandCopyImageToBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandCopyImageToBufferKHR - Record a command to copy an image object to a buffer object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to copy an image object to a buffer object, call the +function</p> +</div> +<div id="clCommandCopyImageToBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandCopyImageToBufferKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem src_image, + cl_mem dst_buffer, + const size_t* src_origin, + const size_t* region, + size_t dst_offset, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandCopyImageToBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>src_image</em>, <em>dst_buffer</em>, <em>src_origin</em>, <em>region</em>, <em>dst_offset</em> refer to +<strong>clEnqueueCopyImageToBuffer</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> +must be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clCommandCopyImageToBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueCopyImageToBuffer</strong> +except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, <em>src_image</em>, and <em>dst_buffer</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandCopyImageToBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandFillBufferKHR.html b/sdk/3.0/docs/man/html/clCommandFillBufferKHR.html new file mode 100644 index 0000000..be42a25 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandFillBufferKHR.html
@@ -0,0 +1,984 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandFillBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandFillBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandFillBufferKHR - Record a command to fill a buffer object with a pattern</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to fill a buffer object with a pattern of a given +pattern size, call the function</p> +</div> +<div id="clCommandFillBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandFillBufferKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem buffer, + const void* pattern, + size_t pattern_size, + size_t offset, + size_t size, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>The usage information which indicates whether the memory object can be read or +written by a kernel and/or the host and is given by the <code>cl_mem_<wbr>flags</code> argument +value specified when <em>buffer</em> is created is ignored by +<strong>clCommandFillBufferKHR</strong>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>buffer</em>, <em>pattern</em>, <em>pattern_size</em>, <em>offset</em>, <em>size</em> refer to +<strong>clEnqueueFillBuffer</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> +must be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><strong>clCommandFillBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueFillBuffer</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, and <em>buffer</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandFillBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandFillImageKHR.html b/sdk/3.0/docs/man/html/clCommandFillImageKHR.html new file mode 100644 index 0000000..178a1c6 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandFillImageKHR.html
@@ -0,0 +1,981 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandFillImageKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandFillImageKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandFillImageKHR - Record a command to fill an image object with a specified color</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to fill an image object with a specified color, call the +function</p> +</div> +<div id="clCommandFillImageKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandFillImageKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + cl_mem image, + const void* fill_color, + const size_t* origin, + const size_t* region, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>The usage information which indicates whether the memory object can be read or +written by a kernel and/or the host and is given by the <code>cl_mem_<wbr>flags</code> argument +value specified when image is created is ignored by <strong>clCommandFillImageKHR</strong>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>image</em>, <em>fill_color</em>, <em>origin</em>, <em>region</em> refer to <strong>clEnqueueFillImage</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> +must be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><strong>clCommandFillImageKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueFillImage</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, and <em>image</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandFillImageKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandNDRangeKernelKHR.html b/sdk/3.0/docs/man/html/clCommandNDRangeKernelKHR.html new file mode 100644 index 0000000..f7d44ef --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandNDRangeKernelKHR.html
@@ -0,0 +1,1163 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandNDRangeKernelKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandNDRangeKernelKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandNDRangeKernelKHR - Record a command to execute a kernel on a device</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to execute a kernel on a device, call the function</p> +</div> +<div id="clCommandNDRangeKernelKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clCommandNDRangeKernelKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + const cl_ndrange_kernel_command_properties_khr* properties, + cl_kernel kernel, + cl_uint work_dim, + const size_t* global_work_offset, + const size_t* global_work_size, + const size_t* local_work_size, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandNDRangeKernelKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>properties</em> specifies a list of properties for the kernel command and +their corresponding values. +Each property name is immediately followed by the corresponding desired +value. +The list is terminated with 0. +If a supported property and its value is not specified in <em>properties</em>, its +default value will be used. +<em>properties</em> may be <code>NULL</code>, in which case the default values for supported +properties will be used. +The <code>cl_khr_<wbr>command_<wbr>buffer</code> extension does not define any +properties, but supported properties defined by extensions are defined +in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#ndrange-kernel-properties-table" target="_blank" rel="noopener">List of supported properties +by <strong>clCommandNDRangeKernelKHR</strong></a> table.</p> +</li> +<li> +<p><em>kernel</em> is a valid kernel object which <strong>must</strong> have its arguments set. +Any changes to <em>kernel</em> after calling <strong>clCommandNDRangeKernelKHR</strong>, such +as with <strong>clSetKernelArg</strong> or <strong>clSetKernelExecInfo</strong>, have no effect on the +recorded command. +If <em>kernel</em> is recorded to a following <strong>clCommandNDRangeKernelKHR</strong> +command however, then that command will capture the updated state of +<em>kernel</em>.</p> +</li> +<li> +<p><em>work_dim</em>, <em>global_work_offset</em>, <em>global_work_size</em>, <em>local_work_size</em> +Refer to <strong>clEnqueueNDRangeKernel</strong>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must +be 0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of +synchronization-points pointed to by <em>sync_point_wait_list</em> must be +valid and <em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> extension is +supported, and <em>mutable_handle</em> is not <code>NULL</code>, it can be used in the +<code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> struct to update the command +configuration between recordings. +The lifetime of this handle is tied to the parent command-buffer, such +that freeing the command-buffer will also free this handle.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<table id="ndrange-kernel-properties-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. List of supported properties by <strong>clCommandNDRangeKernelKHR</strong></caption> +<colgroup> +<col style="width: 20%;"> +<col style="width: 13.3333%;"> +<col style="width: 66.6667%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Recording Properties</th> +<th class="tableblock halign-left valign-top">Property Value</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mutable_<wbr>dispatch_<wbr>asserts_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be set to a combination of the following + values:</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code></p> +<p class="tableblock"> An assertion by the user that the number of work-groups of this + ND-range kernel will not be updated beyond the number defined when the + ND-range kernel was recorded. + The number of work-groups is defined as the product for each <em>i</em> from + <em>0</em> to <em>work_dim - 1</em> of + <em>ceil(global_work_size[i]/local_work_size[i])</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>UPDATABLE_<wbr>FIELDS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mutable_<wbr>dispatch_<wbr>fields_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be set to a combination of the following + values:</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>OFFSET_<wbr>KHR</code> determines whether the + <em>global_work_offset</em> of kernel execution can be modified after + recording. + If set, the <em>global_work_offset</em> of the kernel execution can be + changed with <strong>clUpdateMutableCommandsKHR</strong> using the + <code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> field of the <em>mutable_config</em> + parameter. + Otherwise, the <em>global_work_offset</em> cannot be modified.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>SIZE_<wbr>KHR</code> determines whether the + <em>global_work_size</em> of kernel execution can be modified after + recording. + If set, the <em>global_work_size</em> of the kernel execution can be changed + with <strong>clUpdateMutableCommandsKHR</strong> using the + <code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> field of the <em>mutable_config</em> + parameter. + Otherwise, the <em>global_work_size</em> cannot be modified.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>SIZE_<wbr>KHR</code> determines whether the + <em>local_work_size</em> of kernel execution can be modified after recording. + If set, the <em>local_work_size</em> of the kernel execution can be changed + with <strong>clUpdateMutableCommandsKHR</strong> using the + <code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> field of the <em>mutable_config</em> + parameter. + Otherwise, the <em>local_work_size</em> cannot be modified.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ARGUMENTS_<wbr>KHR</code> determines whether the + kernel arguments set on <em>kernel</em> can be updated between executions. + If set, the kernel arguments normally set with <strong>clSetKernelArg</strong> and + <strong>clSetKernelArgSVMPointer</strong> can be changed with + <strong>clUpdateMutableCommandsKHR</strong> using the + <code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> field of the <em>mutable_config</em> + parameter. + Otherwise, the kernel arguments cannot be modified between executions.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>EXEC_<wbr>INFO_<wbr>KHR</code> determines whether the + information passed to <em>kernel</em> can be updated between executions. + If set, the execution information of the kernel can be changed with + <strong>clUpdateMutableCommandsKHR</strong> using the + <code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> field of the <em>mutable_config</em> + parameter. + Otherwise, the kernel execution information cannot be modified.</p> +<p class="tableblock"> If <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>UPDATABLE_<wbr>FIELDS_<wbr>KHR</code> is not specified + then it defaults to the value returned by the + <code>CL_DEVICE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CAPABILITIES_<wbr>KHR</code> device query.</p></td> +</tr> +</tbody> +</table> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>The work-group size to be used for <em>kernel</em> can also be specified in the +program source using the +<code>__attribute__((reqd_work_group_size(X, Y, Z)))</code> qualifier. +In this case the size of work-group specified by <em>local_work_size</em> must +match the value specified by the <code>reqd_work_group_size</code> <code>__attribute__</code> +qualifier.</p> +</div> +<div class="paragraph"> +<p>These work-group instances are executed in parallel across multiple compute +units or concurrently on the same compute unit.</p> +</div> +<div class="paragraph"> +<p>Each work-item is uniquely identified by a global identifier. +The global ID, which can be read inside the kernel, is computed using the +value given by <em>global_work_size</em> and <em>global_work_offset</em>. +In addition, a work-item is also identified within a work-group by a unique +local ID. +The local ID, which can also be read by the kernel, is computed using the +value given by <em>local_work_size</em>. +The starting local ID is always (0, 0, …​ 0).</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCommandNDRangeKernelKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueNDRangeKernel</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, and <em>kernel</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>properties</em> are not valid</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> +extension is not supported and <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the device associated with <em>command_queue</em> +does not support <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>KERNEL_<wbr>PRINTF_<wbr>KHR</code> and +<em>kernel</em> contains a printf call.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the device associated with <em>command_queue</em> +does not support <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>DEVICE_<wbr>SIDE_<wbr>ENQUEUE_<wbr>KHR</code> +and <em>kernel</em> contains a kernel-enqueue call.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the requested +<code>CL_MUTABLE_<wbr>DISPATCH_<wbr>UPDATABLE_<wbr>FIELDS_<wbr>KHR</code> properties are not reported +by <code>CL_DEVICE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CAPABILITIES_<wbr>KHR</code> for the device +associated with <em>command_queue</em>. +If <em>command_queue</em> is <code>NULL</code>, the device associated with +<em>command_buffer</em> must report support for these properties.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>command_buffer</em> was created with the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code> property with +<code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code> and +<em>local_work_size</em> is <code>NULL</code>, or if <em>properties</em> includes the +<code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code> property with +<code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code> and +<em>local_work_size</em> is <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_kernel.html">cl_kernel</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_ndrange_kernel_command_properties_khr.html">cl_ndrange_kernel_command_properties_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandNDRangeKernelKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandSVMMemFillKHR.html b/sdk/3.0/docs/man/html/clCommandSVMMemFillKHR.html new file mode 100644 index 0000000..7dcc47b --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandSVMMemFillKHR.html
@@ -0,0 +1,1006 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandSVMMemFillKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandSVMMemFillKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandSVMMemFillKHR - Record a command to fill a region in SVM with a pattern of a given pattern size</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to fill a region in SVM with a pattern of a given +pattern size, call the function</p> +</div> +<div id="clCommandSVMMemFillKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 with cl_khr_command_buffer +cl_int clCommandSVMMemFillKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + void* svm_ptr, + const void* pattern, + size_t pattern_size, + size_t size, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandSVMMemFillKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>svm_ptr</em> is a pointer to a (if the device supports system SVM) +or SVM memory region that will be filled with <em>pattern</em>. +It must be aligned to <em>pattern_size</em> bytes. +If <em>svm_ptr</em> is allocated using <strong>clSVMAlloc</strong>, then it must be allocated +from the same context from which <em>command_queue</em> was created. +Otherwise the behavior is undefined.</p> +</li> +<li> +<p><em>pattern</em> is a pointer to the data pattern of size <em>pattern_size</em> in +bytes. +<em>pattern</em> will be used to fill a region in <em>buffer</em> starting at +<em>svm_ptr</em> and is <em>size</em> bytes in size. +The data pattern must be a scalar or vector integer or floating-point +data type supported by OpenCL. +For example, if the region pointed to by <em>svm_ptr</em> is to be filled with +a pattern of <code>float4</code> values, then <em>pattern</em> will be a pointer to a +<code>cl_float4</code> value and <em>pattern_size</em> will be <code>sizeof(cl_float4)</code>. +The maximum value of <em>pattern_size</em> is the size of the largest integer +or floating-point vector data type supported by the OpenCL device. +The memory associated with <em>pattern</em> can be reused or freed after the +function returns.</p> +</li> +<li> +<p><em>size</em> is the size in bytes of region being filled starting with +<em>svm_ptr</em> and must be a multiple of <em>pattern_size</em>.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this +particular command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must be +0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of synchronization-points +pointed to by <em>sync_point_wait_list</em> must be valid and +<em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clCommandSVMMemFillKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. Otherwise, it returns the errors defined by +<strong>clEnqueueSVMMemFill</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, and <em>kernel</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="CL_VERSION_2_0.html">CL_VERSION_2_0</a>, <a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandSVMMemFillKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCommandSVMMemcpyKHR.html b/sdk/3.0/docs/man/html/clCommandSVMMemcpyKHR.html new file mode 100644 index 0000000..c4d8bee --- /dev/null +++ b/sdk/3.0/docs/man/html/clCommandSVMMemcpyKHR.html
@@ -0,0 +1,988 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCommandSVMMemcpyKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCommandSVMMemcpyKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCommandSVMMemcpyKHR - Record a command to do an SVM memcpy operation</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To record a command to do an SVM memcpy operation, call the function</p> +</div> +<div id="clCommandSVMMemcpyKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 with cl_khr_command_buffer +cl_int clCommandSVMMemcpyKHR( + cl_command_buffer_khr command_buffer, + cl_command_queue command_queue, + void* dst_ptr, + const void* src_ptr, + size_t size, + cl_uint num_sync_points_in_wait_list, + const cl_sync_point_khr* sync_point_wait_list, + cl_sync_point_khr* sync_point, + cl_mutable_command_khr* mutable_handle);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCommandSVMMemcpyKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>command_queue</em> specifies the command-queue the command will be recorded to. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported, +only a single command-queue is supported, and <em>command_queue</em> must be +<code>NULL</code>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported and +<em>command_queue</em> is <code>NULL</code>, then only one command-queue must have been set on +<em>command_buffer</em> creation; otherwise, <em>command_queue</em> must not be <code>NULL</code>.</p> +</li> +<li> +<p><em>dst_ptr</em> is the pointer to a host (if the device supports system SVM) +or SVM memory allocation where data is copied to.</p> +</li> +<li> +<p><em>src_ptr</em> is the pointer to a host (if the device supports system SVM) +or SVM memory allocation where data is copied from.</p> +</li> +<li> +<p><em>size</em> is the size in bytes of data being copied.</p> +</li> +<li> +<p><em>sync_point_wait_list</em>, <em>num_sync_points_in_wait_list</em> specify +synchronization-points that need to complete before this particular +command can be executed.</p> +<div class="paragraph"> +<p>If <em>sync_point_wait_list</em> is <code>NULL</code>, <em>num_sync_points_in_wait_list</em> must be +0. +If <em>sync_point_wait_list</em> is not <code>NULL</code>, the list of synchronization-points +pointed to by <em>sync_point_wait_list</em> must be valid and +<em>num_sync_points_in_wait_list</em> must be greater than 0. +The synchronization-points specified in <em>sync_point_wait_list</em> are +<strong>device-side</strong> synchronization-points. +The command-buffer associated with synchronization-points in +<em>sync_point_wait_list</em> must be the same as <em>command_buffer</em>. +The memory associated with <em>sync_point_wait_list</em> can be reused or freed +after the function returns.</p> +</div> +</li> +<li> +<p><em>sync_point</em> returns a synchronization-point ID that identifies this +particular command. +Synchronization-point objects are unique and can be used to identify +this command later on. +<em>sync_point</em> can be <code>NULL</code> in which case it will not be possible for the +application to record a wait for this command to complete. +If the <em>sync_point_wait_list</em> and the <em>sync_point</em> arguments are not +<code>NULL</code>, the <em>sync_point</em> argument should not refer to an element of the +<em>sync_point_wait_list</em> array.</p> +</li> +<li> +<p><em>mutable_handle</em> returns a handle to the command. +This parameter is unused, and <strong>must</strong> be <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clCommandSVMMemcpyKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns the errors defined by <strong>clEnqueueSVMMemcpy</strong> except:</p> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported and +<em>command_queue</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported; and +either <em>command_queue</em> is <code>NULL</code> and <em>command_buffer</em> was created with +more than one queue, or <em>command_queue</em> is not <code>NULL</code> and not a +command-queue listed on <em>command_buffer</em> creation.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>CONTEXT</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em>, +<em>command_buffer</em>, and <em>kernel</em> are not the same.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> is replaced with:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code> if <em>sync_point_wait_list</em> is +<code>NULL</code> and <em>num_sync_points_in_wait_list</em> is > 0, or +<em>sync_point_wait_list</em> is not <code>NULL</code> and <em>num_sync_points_in_wait_list</em> +is 0, or if synchronization-point objects in <em>sync_point_wait_list</em> are +not valid synchronization-points.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>New errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_handle</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="CL_VERSION_2_0.html">CL_VERSION_2_0</a>, <a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_sync_point_khr.html">cl_sync_point_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCommandSVMMemcpyKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCompileProgram.html b/sdk/3.0/docs/man/html/clCompileProgram.html index ba20364..9210ee2 100644 --- a/sdk/3.0/docs/man/html/clCompileProgram.html +++ b/sdk/3.0/docs/man/html/clCompileProgram.html
@@ -780,7 +780,8 @@ </div> <div id="clCompileProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clCompileProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clCompileProgram( cl_program program, cl_uint num_devices, const cl_device_id* device_list, @@ -830,7 +831,7 @@ executable. If <em>options</em> is a <code>NULL</code> pointer then it will have the same result as the empty string. -Certain options are ignored when program is created with IL. +Certain options are ignored when <em>program</em> is created with IL. The list of supported options is as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compiler-options" target="_blank" rel="noopener">Compiler Options</a>.</p> </li> <li> @@ -995,8 +996,22 @@ </li> <li> <p><code>CL_INVALID_<wbr>OPERATION</code> if <em>program</em> has no source or IL available, i.e. it -has not been created with <strong>clCreateProgramWithSource</strong> or -<strong>clCreateProgramWithIL</strong>.</p> +has not been created with one of</p> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateProgramWithIL</strong> +or <strong>clCreateProgramWithILKHR</strong></p> +</li> +<li> +<p><strong>clCreateProgramWithBinary</strong> where <code>-x spir</code> is present in <em>options</em>, +if the <code>cl_khr_<wbr>spir</code> extension is supported.</p> +</li> +<li> +<p><strong>clCreateProgramWithSource</strong></p> +</li> +</ul> +</div> </li> <li> <p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources required @@ -1034,7 +1049,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1044,8 +1059,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateBuffer.html b/sdk/3.0/docs/man/html/clCreateBuffer.html index 1036d64..04e8344 100644 --- a/sdk/3.0/docs/man/html/clCreateBuffer.html +++ b/sdk/3.0/docs/man/html/clCreateBuffer.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_mem clCreateBuffer( cl_context context, cl_mem_flags flags, size_t size, @@ -792,7 +793,8 @@ </div> <div id="clCreateBufferWithProperties" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateBufferWithProperties( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_3_0 +cl_mem clCreateBufferWithProperties( cl_context context, const cl_mem_properties* properties, cl_mem_flags flags, @@ -827,7 +829,9 @@ <p><em>properties</em> is an optional list of properties for the buffer object and their corresponding values. The list is terminated with the special property <code>0</code>. If no properties are required, <em>properties</em> may be <code>NULL</code>. -OpenCL 3.0 does not define any optional properties for buffers.</p> +OpenCL 3.0 does not define any optional properties for buffers, +but extensions may define properties as described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-buffer-memory-properties-table" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-buffer-memory-properties-table</a>.</p> </li> <li> <p><em>flags</em> is a bit-field that is used to specify allocation and usage @@ -877,6 +881,46 @@ atomic operations to the devices level of support as defined in the memory model.</p> </div> +<table id="external-buffer-memory-properties-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. List of supported buffer creation properties</caption> +<colgroup> +<col style="width: 33%;"> +<col style="width: 17%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Property</th> +<th class="tableblock halign-left valign-top">Property Value</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the list of OpenCL devices (terminated with + <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>END_<wbr>KHR</code>) to associate with the + external memory handle.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>If <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not specified as part of <em>properties</em>, +the memory object created by <strong>clCreateBufferWithProperties</strong> or +<strong>clCreateImageWithProperties</strong> is by default accessible to all devices in the +<em>context</em>.</p> +</div> +<div class="paragraph"> +<p>The properties used to create a buffer from an external memory handle are +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-memory-handle-types" target="_blank" rel="noopener">described for the corresponding +extensions</a>. +When a buffer is created from an external memory handle, the +<em>flags</em> used to specify usage information for the buffer must not +include <code>CL_MEM_<wbr>USE_<wbr>HOST_<wbr>PTR</code>, <code>CL_MEM_<wbr>ALLOC_<wbr>HOST_<wbr>PTR</code>, or +<code>CL_MEM_<wbr>COPY_<wbr>HOST_<wbr>PTR</code>, and the <em>host_ptr</em> argument must be <code>NULL</code>.</p> +</div> <div class="paragraph"> <p><strong>clCreateBuffer</strong> and <strong>clCreateBufferWithProperties</strong> returns a valid non-zero buffer object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object @@ -922,10 +966,64 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>DEVICE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if a device identified by the property <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> +is not a valid device or is not associated with <em>context</em>, or</p> +</li> +<li> +<p>if a device identified by property <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> +cannot import the requested external memory object type, or</p> +</li> +<li> +<p>if <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not specified as part of +<em>properties</em> and one or more devices in <em>context</em> cannot import the +requested external memory object type.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> includes a supported external memory handle and <em>flags</em> +includes <code>CL_MEM_<wbr>USE_<wbr>HOST_<wbr>PTR</code>, <code>CL_MEM_<wbr>ALLOC_<wbr>HOST_<wbr>PTR</code>, or +<code>CL_MEM_<wbr>COPY_<wbr>HOST_<wbr>PTR</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>HOST_<wbr>PTR</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> includes a supported external memory handle and +<em>host_ptr</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> does not include a supported external memory handle and +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is specified as part of <em>properties</em>.</p> +</li> +</ul> +</div> +</li> </ul> </div> <table id="memory-flags-table" class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 1. List of supported memory flag values</caption> +<caption class="title">Table 2. List of supported memory flag values</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> @@ -1060,7 +1158,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1070,8 +1168,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateCommandBufferKHR.html b/sdk/3.0/docs/man/html/clCreateCommandBufferKHR.html new file mode 100644 index 0000000..50aeadc --- /dev/null +++ b/sdk/3.0/docs/man/html/clCreateCommandBufferKHR.html
@@ -0,0 +1,1100 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCreateCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCreateCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCreateCommandBufferKHR - Create a command-buffer</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To create a command-buffer that can record commands to the specified +queues, call the function</p> +</div> +<div id="clCreateCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_command_buffer_khr clCreateCommandBufferKHR( + cl_uint num_queues, + const cl_command_queue* queues, + const cl_command_buffer_properties_khr* properties, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>num_queues</em> is the number of command-queues listed in <em>queues</em>. +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not +supported, this <strong>must</strong> be one.</p> +</li> +<li> +<p><em>queues</em> is a pointer to a list of command-queues that the +command-buffer commands will be recorded to. +<em>queues</em> must be a non-<code>NULL</code> value and the length of the list equal to +<em>num_queues</em>.</p> +</li> +<li> +<p><em>properties</em> specifies a list of properties for the command-buffer and +their corresponding values. +Each property name is immediately followed by the corresponding desired +value. +The list is terminated with 0. +The list of supported properties is described in the table below. +If a supported property and its value is not specified in properties, +its default value will be used. +<em>properties</em> can be <code>NULL</code> in which case the default values for +supported command-buffer properties will be used.</p> +<table id="commandbuffer-properties" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. <strong>clCreateCommandBufferKHR</strong> properties</caption> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 16.6666%;"> +<col style="width: 50.0001%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Recording Properties</th> +<th class="tableblock halign-left valign-top">Property Value</th> +<th class="tableblock halign-left valign-top">Description + + + +== Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>FLAGS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>buffer_<wbr>flags_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be set to a combination of the following values:</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code> - Allow multiple + instances of the command-buffer to be submitted to the device for + execution. + If set, devices must support + <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code>.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>DEVICE_<wbr>SIDE_<wbr>SYNC_<wbr>KHR</code> - All commands in the + command-buffer must use native synchronization, as reported by + <code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code>. + This can be used as a safeguard for performant applications that do not + want to accidentally fallback to host synchronization when passing + multiple queues.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>KHR</code> - Enables modification of the + command-buffer, by default command-buffers are immutable. + If set, commands in the command-buffer may be updated via + <strong>clUpdateMutableCommandsKHR</strong>.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p> +<p class="tableblock"> The default value of this property is <code>0</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mutable_<wbr>dispatch_<wbr>asserts_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be set to a combination of the following values:</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code> - + An assertion by the user that the number of work-groups of any + ND-range kernel recorded in this command buffer will not be updated + beyond the number defined when the ND-range kernel was recorded. + If the user’s update to the values of <em>local_work_size</em> and/or + <em>global_work_size</em> result in an increase in the number of + work-groups in the ND-range over the number specified when the + ND-range kernel was recorded, the behavior is undefined.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +</tr> +</tbody> +</table> +</li> +<li> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> +</li> +</ul> +</div> +<table class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Summary of command-buffer creation configurations, for the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension</caption> +<colgroup> +<col style="width: 25%;"> +<col style="width: 25%;"> +<col style="width: 25%;"> +<col style="width: 25%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">All Devices Associated With <code>Queues</code> can Device-side Sync</th> +<th class="tableblock halign-left valign-top">Platform Supports Universal Sync</th> +<th class="tableblock halign-left valign-top">Condition</th> +<th class="tableblock halign-left valign-top">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" rowspan="3"><p class="tableblock">Yes</p></td> +<td class="tableblock halign-left valign-top" rowspan="3"><p class="tableblock">Yes or No</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Any device does not support the multi-queue capability, and has more than + one queue targeting it</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Error - <code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">User sets <code>CL_COMMAND_<wbr>BUFFER_<wbr>DEVICE_<wbr>SIDE_<wbr>SYNC_<wbr>KHR</code> flag</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">OK</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Otherwise</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">OK</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" rowspan="3"><p class="tableblock">No</p></td> +<td class="tableblock halign-left valign-top" rowspan="3"><p class="tableblock">Yes</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Any device does not support the multi-queue capability, and has more than + one queue targeting it</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Error - <code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">User sets <code>CL_COMMAND_<wbr>BUFFER_<wbr>DEVICE_<wbr>SIDE_<wbr>SYNC_<wbr>KHR</code> flag</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Error - <code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Otherwise</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">OK - May be performance implications when synchronizing commands between + devices without device-side sync support.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Always</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Error - <code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p></td> +</tr> +</tbody> +</table> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>Upon creation the command-buffer is defined as being in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#recording" target="_blank" rel="noopener">Recording</a> state, in order for the command-buffer to be enqueued +it must first be finalized using <strong>clFinalizeCommandBufferKHR</strong> after which no +further commands can be recorded. +A command-buffer is submitted for execution on command-queues with a call to +<strong>clEnqueueCommandBufferKHR</strong>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCreateCommandBufferKHR</strong> returns a valid non-zero command-buffer and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the command-buffer is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if any command-queue in <em>queues</em> is not a +valid command-queue.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if any command-queue in <em>queues</em> is +an out-of-order command-queue and the device associated with the +command-queue does not support the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>OUT_<wbr>OF_<wbr>ORDER_<wbr>KHR</code> capability.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if the properties of any +command-queue in <em>queues</em> does not contain the minimum properties +specified by <code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>REQUIRED_<wbr>QUEUE_<wbr>PROPERTIES_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if all the command-queues in <em>queues</em> do not have +the same OpenCL context.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> +extension is supported and <em>num_queues</em> is zero, or if the +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is not supported +and <em>num_queues</em> is not one.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>queues</em> is <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>properties</em> are not valid, or +if the same property name is specified more than once.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code> if values specified in <em>properties</em> are valid but +are not supported by all the devices associated with command-queues in +<em>queues</em>.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if <em>queues</em> includes more than one +command-queue associated with a device that does not support capability +<code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>MULTIPLE_<wbr>QUEUE_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>DEVICE_<wbr>SIDE_<wbr>SYNC_<wbr>KHR</code> flag is set, and any device +associated with a command-queue in <em>queues</em> cannot natively synchronize +with the other devices associated with <em>queues</em> as reported by +<code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if the platform does not support the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>UNIVERSAL_<wbr>SYNC_<wbr>KHR</code> capability, and any +device associated with a command-queue in <em>queues</em> cannot natively +synchronize with the other devices associated with <em>queues</em> as reported +by <code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_properties_khr.html">cl_command_buffer_properties_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCreateCommandQueue.html b/sdk/3.0/docs/man/html/clCreateCommandQueue.html index f4a200c..949a560 100644 --- a/sdk/3.0/docs/man/html/clCreateCommandQueue.html +++ b/sdk/3.0/docs/man/html/clCreateCommandQueue.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateCommandQueue" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_command_queue clCreateCommandQueue( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_command_queue clCreateCommandQueue( cl_context context, cl_device_id device, cl_command_queue_properties properties, @@ -926,7 +927,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -936,8 +937,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateCommandQueueWithProperties.html b/sdk/3.0/docs/man/html/clCreateCommandQueueWithProperties.html index a4ba4fe..ba35ada 100644 --- a/sdk/3.0/docs/man/html/clCreateCommandQueueWithProperties.html +++ b/sdk/3.0/docs/man/html/clCreateCommandQueueWithProperties.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateCommandQueueWithProperties" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_command_queue clCreateCommandQueueWithProperties( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_command_queue clCreateCommandQueueWithProperties( cl_context context, cl_device_id device, const cl_queue_properties* properties, @@ -795,7 +796,31 @@ </td> <td class="content"> <strong>clCreateCommandQueueWithProperties</strong> is <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0. -Also see extension <strong>cl_khr_create_command_queue</strong>. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>or the equivalent</p> +</div> +<div id="clCreateCommandQueueWithPropertiesKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_create_command_queue +cl_command_queue clCreateCommandQueueWithPropertiesKHR( + cl_context context, + cl_device_id device, + const cl_queue_properties_khr* properties, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateCommandQueueWithPropertiesKHR</strong> is provided by the <code>cl_khr_create_command_queue</code> extension. </td> </tr> </table> @@ -813,8 +838,8 @@ <li> <p><em>device</em> must be a device or sub-device associated with <em>context</em>. It can either be in the list of devices and sub-devices specified when -<em>context</em> is created using <strong>clCreateContext</strong> or be a root device with the -same device type as specified when <em>context</em> is created using +<em>context</em> is created using <strong>clCreateContext</strong> or be a root device with +the same device type as specified when <em>context</em> is created using <strong>clCreateContextFromType</strong>.</p> </li> <li> @@ -874,13 +899,13 @@ If <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE</code> is set, <code>CL_QUEUE_<wbr>OUT_<wbr>OF_<wbr>ORDER_<wbr>EXEC_<wbr>MODE_<wbr>ENABLE</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> - must also be set. -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> + must also be set.</p> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> <p class="tableblock"> <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE_<wbr>DEFAULT</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> - indicates that this is the default device queue. - This can only be used with <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE</code>. -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> + This can only be used with <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE</code>.</p> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> <p class="tableblock"> If <code>CL_QUEUE_<wbr>PROPERTIES</code> is not specified an in-order host command-queue is created for the specified device</p></td> </tr> @@ -897,6 +922,41 @@ <p class="tableblock"> If <code>CL_QUEUE_<wbr>SIZE</code> is not specified, the device queue is created with <code>CL_DEVICE_<wbr>QUEUE_<wbr>ON_<wbr>DEVICE_<wbr>PREFERRED_<wbr>SIZE</code> as the size of the queue.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_QUEUE_<wbr>PRIORITY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_priority_hints</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_queue_<wbr>priority_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies a priority hint for command queues belonging to the same + OpenCL context.</p> +<p class="tableblock"> NOTE: Refer to the user guide associated with each implementation + supporting this extension for its priority behavior guarantees, if + any.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>PRIORITY_<wbr>HIGH_<wbr>KHR</code> - Indicates command queues + should have high priority.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>PRIORITY_<wbr>MED_<wbr>KHR</code> - Indicates command queues should + have medium priority.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>PRIORITY_<wbr>LOW_<wbr>KHR</code> - Indicates command queues should + have low priority.</p> +<p class="tableblock"> If <code>CL_QUEUE_<wbr>PRIORITY_<wbr>KHR</code> is not specified, the default priority + <code>CL_QUEUE_<wbr>PRIORITY_<wbr>MED_<wbr>KHR</code> is used.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_QUEUE_<wbr>THROTTLE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_throttle_hints</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_queue_<wbr>throttle_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies a throttle hint for a command queue.</p> +<p class="tableblock"> NOTE: Refer to the user guide associated with each implementation + supporting this extension for its throttling behavior guarantees, if + any.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>THROTTLE_<wbr>HIGH_<wbr>KHR</code> - Indicates the queue should + execute at full throttle, which may consume more energy.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>THROTTLE_<wbr>MED_<wbr>KHR</code> - Indicates normal throttling + behavior.</p> +<p class="tableblock"> <code>CL_QUEUE_<wbr>THROTTLE_<wbr>LOW_<wbr>KHR</code> - Indicates the queue should + execute at low throttle, optimized for lowest energy consumption.</p> +<p class="tableblock"> If <code>CL_QUEUE_<wbr>THROTTLE_<wbr>KHR</code> is not specified, the default priority + <code>CL_QUEUE_<wbr>THROTTLE_<wbr>MED_<wbr>KHR</code> is used.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -912,8 +972,8 @@ <p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_<wbr>DEVICE</code> if <em>device</em> is not a valid device or is not associated -with <em>context</em>.</p> +<p><code>CL_INVALID_<wbr>DEVICE</code> if <em>device</em> is not a valid device or is not +associated with <em>context</em>.</p> </li> <li> <p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>properties</em> are not valid.</p> @@ -923,8 +983,18 @@ valid but are not supported by the device.</p> </li> <li> -<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources required -by the OpenCL implementation on the device.</p> +<p><code>CL_INVALID_<wbr>QUEUE_<wbr>PROPERTIES</code> if the <code>cl_khr_<wbr>priority_<wbr>hints</code> +extension is supported, the <code>CL_QUEUE_<wbr>PRIORITY_<wbr>KHR</code> property is +specified, and the queue is a <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>QUEUE_<wbr>PROPERTIES</code> if the <code>cl_khr_<wbr>throttle_<wbr>hints</code> +extension is supported, the <code>CL_QUEUE_<wbr>THROTTLE_<wbr>KHR</code> property is +specified, and the queue is a <code>CL_QUEUE_<wbr>ON_<wbr>DEVICE</code>.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources @@ -938,7 +1008,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="CL_VERSION_2_0.html">CL_VERSION_2_0</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_device_id.html">cl_device_id</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_queue_properties.html">cl_queue_properties</a></p> +<p><a href="CL_VERSION_2_0.html">CL_VERSION_2_0</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_device_id.html">cl_device_id</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_create_command_queue.html">cl_khr_create_command_queue</a>, <a href="cl_queue_properties.html">cl_queue_properties</a>, <a href="cl_queue_properties_khr.html">cl_queue_properties_khr</a></p> </div> </div> </div> @@ -958,7 +1028,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -977,8 +1047,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateContext.html b/sdk/3.0/docs/man/html/clCreateContext.html index 8b7c8f5..94fa762 100644 --- a/sdk/3.0/docs/man/html/clCreateContext.html +++ b/sdk/3.0/docs/man/html/clCreateContext.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateContext" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_context clCreateContext( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_context clCreateContext( const cl_context_properties* properties, cl_uint num_devices, const cl_device_id* devices, @@ -801,10 +802,10 @@ Each property name is immediately followed by the corresponding desired value. The list is terminated with 0. -The list of supported properties is described in the -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context Properties</a> table. -<em>properties</em> can be <code>NULL</code> in which case the platform that is selected is -implementation-defined.</p> +The list of supported properties, and their default values if not +present in <em>properties</em>, is described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context Properties</a> table. +<em>properties</em> can be <code>NULL</code>, in which case all properties take on their +default values.</p> </li> <li> <p><em>num_devices</em> is the number of devices specified in the <em>devices</em> argument.</p> @@ -883,7 +884,8 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>PLATFORM</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_platform_<wbr>id</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the platform to use.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the platform to use.</p> +<p class="tableblock"> Defaults to an implementation-defined platform if not specified.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code></p> @@ -894,11 +896,152 @@ Please refer to the specific sections in the OpenCL Extension Specification that describe sharing with other APIs for restrictions on using this flag.</p> -<p class="tableblock"> If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified, a default of - <code>CL_FALSE</code> is assumed.</p></td> +<p class="tableblock"> Defaults to <code>CL_FALSE</code> if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDirect3DDevice9 *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies an <code>IDirect3DDevice9</code> to use for D3D9 interop.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9EX_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDirect3DDeviceEx*</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies an <code>IDirect3DDevice9Ex</code> to use for D3D9 interop.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>DXVA_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDXVAHD_Device *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies an <code>IDXVAHD_Device</code> to use for DXVA interop.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D10Device *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the <code>ID3D10Device *</code> to use for Direct3D 10 interoperability.</p> +<p class="tableblock"> The default value is <code>NULL</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D11Device *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the <code>ID3D11Device *</code> to use for Direct3D 11 interoperability.</p> +<p class="tableblock"> The default value is <code>NULL</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">OpenGL context handle</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">OpenGL context to associate the OpenCL context with</p> +<p class="tableblock"> Defaults to 0 if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">CGL share group handle</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">CGL share group to associate the OpenCL context with</p> +<p class="tableblock"> Defaults to 0 if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">EGL <code>EGLDisplay</code> handle</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EGLDisplay</code> an OpenGL context was created with respect to</p> +<p class="tableblock"> Defaults to <code>EGL_NO_DISPLAY</code> if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">X handle</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">X Display an OpenGL context was created with respect to</p> +<p class="tableblock"> Defaults to <code>None</code> if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_WGL_<wbr>HDC_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Windows HDC handle</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">HDC an OpenGL context was created with respect to</p> +<p class="tableblock"> Defaults to 0 if not specified.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_initialize_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_context_<wbr>memory_<wbr>initialize_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes which memory types for the context must be initialized. + This is a bit-field, where the following values are currently + supported:</p> +<p class="tableblock"> <code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>LOCAL_<wbr>KHR</code> — Initialize local + memory to zeros.</p> +<p class="tableblock"> <code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>PRIVATE_<wbr>KHR</code> — Initialize + private memory to zeros.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>TERMINATE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_terminate_context</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_bool</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether the context can be terminated. + The default value is <code>CL_FALSE</code>.</p></td> </tr> </tbody> </table> +<div class="paragraph"> +<p>Some of the properties specified in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context +Properties</a> table control sharing of OpenCL memory objects with OpenGL +buffer, texture, and renderbuffer objects.</p> +</div> +<div id="specifying-gl-context" class="paragraph"> +<p>Depending on the platform-specific API used to bind OpenGL contexts to the +window system, the following properties may be set to identify an OpenGL +context:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>When the CGL binding API is supported, the property +<code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code> should be set to a CGLShareGroup handle to a CGL +share group object.</p> +</li> +<li> +<p>When the EGL binding API is supported, the property <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +should be set to an EGLContext handle to an OpenGL ES or OpenGL context, +and the property <code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code> should be set to the <code>EGLDisplay</code> +handle of the display used to create the OpenGL ES or OpenGL context.</p> +</li> +<li> +<p>When the GLX binding API is supported, the property <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +should be set to a GLXContext handle to an OpenGL context, and the +property <code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code> should be set to the <code>Display</code> handle of +the X Window System display used to create the OpenGL context.</p> +</li> +<li> +<p>When the WGL binding API is supported, the property <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +should be set to an HGLRC handle to an OpenGL context, and the property +<code>CL_WGL_<wbr>HDC_<wbr>KHR</code> should be set to the HDC handle of the display used to +create the OpenGL context.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Memory objects created in the context so specified may be shared with the +specified OpenGL or OpenGL ES context (as well as with any other OpenGL +contexts on the share list of that context, according to the description of +sharing in the GLX 1.4 and EGL 1.5 specifications, and the WGL documentation +for OpenGL implementations on Microsoft Windows), or with the explicitly +identified OpenGL share group for CGL. +If no OpenGL or OpenGL ES context or share group is specified in the +property list, then memory objects may not be shared, and attempts to create +such objects will result in a <code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> +error.</p> +</div> +<div class="paragraph"> +<p>OpenCL / OpenGL sharing does not support the <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> +property defined in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context Properties</a> +table. +Specifying this property when creating a context with OpenCL / OpenGL +sharing will return an appropriate error.</p> +</div> <div class="admonitionblock note"> <table> <tr> @@ -923,12 +1066,12 @@ <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_<wbr>PLATFORM</code> if <em>properties</em> is <code>NULL</code> and no platform could be -selected or if platform value specified in <em>properties</em> is not a valid -platform.</p> +<p><code>CL_INVALID_<wbr>PLATFORM</code> if no platform is specified in <em>properties</em> and no +platform could be selected, or if the platform specified in <em>properties</em> is +not a valid platform.</p> </li> <li> -<p><code>CL_INVALID_<wbr>PROPERTY</code> if context property name in <em>properties</em> is not a +<p><code>CL_INVALID_<wbr>PROPERTY</code> if a context property name in <em>properties</em> is not a supported property name, if the value specified for a supported property name is not valid, or if the same property name is specified more than once. @@ -961,6 +1104,144 @@ </li> </ul> </div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>dx9_<wbr>media_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code> if any of the values of the +properties <code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9_<wbr>KHR</code>, +<code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9EX_<wbr>KHR</code> or <code>CL_CONTEXT_<wbr>ADAPTER_<wbr>DXVA_<wbr>KHR</code> is +non-<code>NULL</code> and does not specify a valid media adapter with which the +<em>cl_device_ids</em> against which this context is to be created may +interoperate.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d10_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> if the value of the property +<code>CL_CONTEXT_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> is non-<code>NULL</code> and does not specify a valid +Direct3D 10 device with which the <em>cl_device_ids</em> against which this +context is to be created may interoperate.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if Direct3D 10 interoperability is specified by +setting <code>CL_INVALID_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> to a non-<code>NULL</code> value, and +interoperability with another graphics API is also specified.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d11_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> if the value of the property +<code>CL_CONTEXT_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> is non-<code>NULL</code> and does not specify a valid +Direct3D 11 device with which the <em>cl_device_ids</em> against which this +context is to be created may interoperate.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if Direct3D 11 interoperability is specified by +setting <code>CL_INVALID_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> to a non-<code>NULL</code> value, and +interoperability with another graphics API is also specified.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>gl_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a context was specified for +an OpenGL or OpenGL ES implementation using the EGL, GLX, or WGL binding +APIs, as <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#specifying-gl-context" target="_blank" rel="noopener">described above</a>; and any of the +following conditions hold:</p> +<div class="ulist"> +<ul> +<li> +<p>The specified display and context properties do not identify a valid +OpenGL or OpenGL ES context.</p> +</li> +<li> +<p>The specified context does not support buffer and renderbuffer objects.</p> +</li> +<li> +<p>The specified context is not compatible with the OpenCL context being +created (for example, it exists in a physically distinct address space, +such as another hardware device; or it does not support sharing data +with OpenCL due to implementation restrictions).</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a share group was specified +for a CGL-based OpenGL implementation by setting the property +<code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, and the specified share group does not identify +a valid CGL share group object.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if a context was specified as described above and +any of the following conditions hold:</p> +<div class="ulist"> +<ul> +<li> +<p>A context or share group object was specified for one of CGL, EGL, GLX, +or WGL and the OpenGL implementation does not support that +window-system binding API.</p> +</li> +<li> +<p>More than one of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, +<code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code>, <code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code>, and <code>CL_WGL_<wbr>HDC_<wbr>KHR</code> is set +to a non-default value.</p> +</li> +<li> +<p>Both of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code> and <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +are set to non-default values.</p> +</li> +<li> +<p>Any of the devices specified in the <em>devices</em> argument cannot support +OpenCL objects which share the data store of an OpenGL object.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code> if both <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code>, and any of +the properties defined by the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension are +defined in <em>properties</em>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>terminate_<wbr>context</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code> if the <code>cl_khr_<wbr>terminate_<wbr>context</code> extension is +supported and <code>CL_CONTEXT_<wbr>TERMINATE_<wbr>KHR</code> is set to <code>CL_TRUE</code> in +<em>properties</em>, but not all of the devices associated with the context +support the ability to support context termination (i.e. +<code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>CONTEXT_<wbr>KHR</code> is set for +<code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>KHR</code>).</p> +</li> +</ul> +</div> <div class="admonitionblock note"> <table> <tr> @@ -1009,7 +1290,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1025,8 +1306,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateContextFromType.html b/sdk/3.0/docs/man/html/clCreateContextFromType.html index 38584c3..6d5977c 100644 --- a/sdk/3.0/docs/man/html/clCreateContextFromType.html +++ b/sdk/3.0/docs/man/html/clCreateContextFromType.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateContextFromType" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_context clCreateContextFromType( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_context clCreateContextFromType( const cl_context_properties* properties, cl_device_type device_type, void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data), @@ -800,10 +801,10 @@ corresponding values. Each property name is immediately followed by the corresponding desired value. -The list of supported properties is described in the -<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context Properties</a> table. -<em>properties</em> can also be <code>NULL</code> in which case the platform that is selected -is implementation-defined.</p> +The list of supported properties, and their default values if not +present in <em>properties</em>, is described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#context-properties-table" target="_blank" rel="noopener">Context Properties</a> table. +<em>properties</em> can be <code>NULL</code>, in which case all properties take on their +default values.</p> </li> <li> <p><em>device_type</em> is a bit-field that identifies the type of device and is @@ -838,12 +839,12 @@ <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_<wbr>PLATFORM</code> if <em>properties</em> is <code>NULL</code> and no platform could be -selected or if platform value specified in <em>properties</em> is not a valid -platform.</p> +<p><code>CL_INVALID_<wbr>PLATFORM</code> if no platform is specified in <em>properties</em> and no +platform could be selected, or if the platform specified in <em>properties</em> is +not a valid platform.</p> </li> <li> -<p><code>CL_INVALID_<wbr>PROPERTY</code> if context property name in <em>properties</em> is not a +<p><code>CL_INVALID_<wbr>PROPERTY</code> if a context property name in <em>properties</em> is not a supported property name, if the value specified for a supported property name is not valid, or if the same property name is specified more than once. @@ -874,6 +875,128 @@ </li> </ul> </div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>dx9_<wbr>media_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code> if any of the values of the +properties <code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9_<wbr>KHR</code>, +<code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9EX_<wbr>KHR</code> or <code>CL_CONTEXT_<wbr>ADAPTER_<wbr>DXVA_<wbr>KHR</code> is +non-<code>NULL</code> and does not specify a valid media adapter with which the +<em>cl_device_ids</em> against which this context is to be created may +interoperate.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d10_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> if the value of the property +<code>CL_CONTEXT_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> is non-<code>NULL</code> and does not specify a valid +Direct3D 10 device with which the <em>cl_device_ids</em> against which this +context is to be created may interoperate.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if Direct3D 10 interoperability is specified by +setting <code>CL_INVALID_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code> to a non-<code>NULL</code> value, and +interoperability with another graphics API is also specified.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d11_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> if the value of the property +<code>CL_CONTEXT_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> is non-<code>NULL</code> and does not specify a valid +Direct3D 11 device with which the <em>cl_device_ids</em> against which this +context is to be created may interoperate.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if Direct3D 11 interoperability is specified by +setting <code>CL_INVALID_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code> to a non-<code>NULL</code> value, and +interoperability with another graphics API is also specified.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>gl_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a context was specified for +an OpenGL or OpenGL ES implementation using the EGL, GLX, or WGL binding +APIs, as <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#specifying-gl-context" target="_blank" rel="noopener">described for <code>clCreateContext</code></a>; and +any of the following conditions hold:</p> +<div class="ulist"> +<ul> +<li> +<p>The specified display and context properties do not identify a valid +OpenGL or OpenGL ES context.</p> +</li> +<li> +<p>The specified context does not support buffer and renderbuffer objects.</p> +</li> +<li> +<p>The specified context is not compatible with the OpenCL context being +created (for example, it exists in a physically distinct address space, +such as another hardware device; or it does not support sharing data +with OpenCL due to implementation restrictions).</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a share group was specified +for a CGL-based OpenGL implementation by setting the property +<code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, and the specified share group does not identify +a valid CGL share group object.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if a context was specified as described above and +any of the following conditions hold:</p> +<div class="ulist"> +<ul> +<li> +<p>A context or share group object was specified for one of CGL, EGL, GLX, +or WGL and the OpenGL implementation does not support that +window-system binding API.</p> +</li> +<li> +<p>More than one of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, +<code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code>, <code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code>, and <code>CL_WGL_<wbr>HDC_<wbr>KHR</code> is set +to a non-default value.</p> +</li> +<li> +<p>Both of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code> and <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +are set to non-default values.</p> +</li> +<li> +<p>Any of the devices specified in the <em>devices</em> argument cannot support +OpenCL objects which share the data store of an OpenGL object.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code> if both <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code>, and any of +the properties defined by the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension are +defined in <em>properties</em>.</p> +</li> +</ul> +</div> </div> </div> <div class="sect1"> @@ -900,7 +1023,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -916,8 +1039,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateEventFromEGLSyncKHR.html b/sdk/3.0/docs/man/html/clCreateEventFromEGLSyncKHR.html index bf6e48b..b20693b 100644 --- a/sdk/3.0/docs/man/html/clCreateEventFromEGLSyncKHR.html +++ b/sdk/3.0/docs/man/html/clCreateEventFromEGLSyncKHR.html
@@ -767,19 +767,38 @@ <h1>clCreateEventFromEGLSyncKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateEventFromEGLSyncKHR - Creates a linked event object.</p> +<p>clCreateEventFromEGLSyncKHR - Link OpenCL event object to an EGL sync object</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_event clCreateEventFromEGLSyncKHR(cl_context context, - CLeglSyncKHR sync, - CLeglDisplayKHR display, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL event object linked to an EGL fence sync object, call +the function</p> </div> +<div id="clCreateEventFromEGLSyncKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_egl_event +cl_event clCreateEventFromEGLSyncKHR( + cl_context context, + CLeglSyncKHR sync, + CLeglDisplayKHR display, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateEventFromEGLSyncKHR</strong> is provided by the <code>cl_khr_egl_event</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -789,15 +808,19 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from an OpenGL context or -share group, using the <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> extension.</p> +<p><em>context</em> is a valid OpenCL context created from an OpenGL context or +share group, using the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension.</p> </li> <li> -<p><em>sync</em> - The name of a sync object of type <code>EGL_SYNC_FENCE_KHR</code> created +<p><em>sync</em> is the name of a sync object of type <code>EGL_SYNC_FENCE_KHR</code> created with respect to <code>EGLDisplay</code> <em>display</em>.</p> </li> <li> -<p><em>display</em> - An <code>EGLDisplay</code> handle.</p> +<p><em>display</em> is the <code>EGLDisplay</code> handle.</p> +</li> +<li> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> @@ -807,32 +830,26 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>An event object may be created by linking to an EGL sync object. -Completion of such an event object is equivalent to waiting for completion +<p>Completion of such an event object is equivalent to waiting for completion of the fence command associated with the linked EGL sync object.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> <div class="paragraph"> <p>The parameters of an event object linked to an EGL sync object will return -the following values when queried with <a href="clGetEventInfo.html">clGetEventInfo</a>:</p> +the following values when queried with <strong>clGetEventInfo</strong>:</p> </div> <div class="ulist"> <ul> <li> -<p>The <code>CL_EVENT_COMMAND_QUEUE</code> of a linked event is NULL, because the +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>QUEUE</code> of a linked event is <code>NULL</code>, because the event is not associated with any OpenCL command-queue.</p> </li> <li> -<p>The <code>CL_EVENT_COMMAND_TYPE</code> of a linked event is -<code>CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR</code>, indicating that the event is +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>TYPE</code> of a linked event is +<code>CL_COMMAND_<wbr>EGL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code>, indicating that the event is associated with a EGL sync object, rather than an OpenCL command.</p> </li> <li> -<p>The <code>CL_EVENT_COMMAND_EXECUTION_STATUS</code> of a linked event is either +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>EXECUTION_<wbr>STATUS</code> of a linked event is either <code>CL_SUBMITTED</code>, indicating that the fence command associated with the sync object has not yet completed, or <code>CL_COMPLETE</code>, indicating that the fence command has completed.</p> @@ -840,55 +857,34 @@ </ul> </div> <div class="paragraph"> -<p><code>clCreateEventFromEGLSyncKHR</code> performs an implicit <a href="clRetainEvent.html">clRetainEvent</a> on -the returned event object. Creating a linked event object also places a -reference on the linked EGL sync object. When the event object is deleted, -the reference will be removed from the EGL sync object.</p> +<p><strong>clCreateEventFromEGLSyncKHR</strong> performs an implicit <strong>clRetainEvent</strong> on the +returned event object. +Creating a linked event object also places a reference on the linked EGL +sync object. +When the event object is deleted, the reference will be removed from the EGL +sync object.</p> </div> <div class="paragraph"> -<p>Events returned from <code>clCreateEventFromEGLSyncKHR</code> may only be consumed by -<code>clEnqueueAcquire***</code> commands. Passing such events to any other OpenCL API -that enqueues commands will generate a <code>CL_INVALID_EVENT</code> error."</p> +<p>Events returned from <strong>clCreateEventFromEGLSyncKHR</strong> may only be consumed by +commands to acquire and release memory objects. +Passing such events to any other CL API that enqueues commands will generate +a <code>CL_INVALID_<wbr>EVENT</code> error.</p> </div> <div class="paragraph"> -<p>Event objects can also be used to reflect the status of an EGL fence sync -object. The sync object in turn refers to a fence command executing in an -EGL client API command stream. This provides another method of coordinating -sharing of EGL / EGL client API objects with OpenCL. Completion of EGL / EGL -client API commands may be determined by placing an EGL fence command after -commands using <code>eglCreateSyncKHR</code>, creating an event from the resulting EGL -sync object using <code>clCreateEventFromEGLSyncKHR</code> and then specifying it in -the <em>event_wait_list</em> of a <code>clEnqueueAcquire***</code> command. This method may be -considerably more efficient than calling operations like <code>glFinish</code>, and is -referred to as <em>explicit synchronization</em>. The application is responsible -for ensuring the command stream associated with the EGL fence is flushed to -ensure the CL queue is submitted to the device. Explicit synchronization is -most useful when an EGL client API context bound to another thread is -accessing the memory objects.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid OpenCL event object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> -if the event object is created successfully. -Otherwise, it returns a NULL value with one of the following error values +<p><strong>clCreateEventFromEGLSyncKHR</strong> returns a valid OpenCL event object and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the event object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context or was not +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context, or was not created from a GL context.</p> </li> <li> -<p><code>CL_INVALID_EGL_OBJECT_KHR</code> if <em>sync</em> is not a valid EGLSyncKHR handle -created with respect to <code>EGLDisplay</code> <em>display</em>.</p> -</li> -<li> -<p><code>CL_INVALID_EGL_OBJECT_KHR</code> if <em>sync</em> is not a valid EGLSyncKHR object +<p><code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code> if <em>sync</em> is not a valid EGLSyncKHR object of type <code>EGL_SYNC_FENCE_KHR</code> created with respect to <code>EGLDisplay</code> <em>display</em>.</p> </li> @@ -900,9 +896,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_egl_event.html">cl_khr_egl_event</a>, -<a href="clEnqueueAcquireEGLObjectsKHR.html">clEnqueueAcquireEGLObjectsKHR</a>, -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a></p> +<p><a href="CLeglDisplayKHR.html">CLeglDisplayKHR</a>, <a href="CLeglSyncKHR.html">CLeglSyncKHR</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_egl_event.html">cl_khr_egl_event</a></p> </div> </div> </div> @@ -910,10 +904,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateEventFromEGLSyncKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -921,7 +916,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -931,8 +926,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateEventFromGLsyncKHR.html b/sdk/3.0/docs/man/html/clCreateEventFromGLsyncKHR.html index aa6f3d8..81406e0 100644 --- a/sdk/3.0/docs/man/html/clCreateEventFromGLsyncKHR.html +++ b/sdk/3.0/docs/man/html/clCreateEventFromGLsyncKHR.html
@@ -767,19 +767,37 @@ <h1>clCreateEventFromGLsyncKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateEventFromGLsyncKHR - Creates an event object linked to an OpenGL sync object.</p> +<p>clCreateEventFromGLsyncKHR - Create OpenCL event object linked to an OpenGL sync object</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_event clCreateEventFromGLsyncKHR(cl_context context, - GLsync sync, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL event object linked to an OpenGL fence sync object, call +the function</p> </div> +<div id="clCreateEventFromGLsyncKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_event +cl_event clCreateEventFromGLsyncKHR( + cl_context context, + cl_GLsync sync, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateEventFromGLsyncKHR</strong> is provided by the <code>cl_khr_gl_event</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -789,16 +807,16 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from an OpenGL context or -share group, using the <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> extension.</p> +<p><em>context</em> is a valid OpenCL context created from an OpenGL context or +share group, using the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension.</p> </li> <li> -<p><em>sync</em> - The name of a sync object in the GL share group associated with -<em>context</em>.</p> +<p><em>sync</em> is the name of a sync object in the GL share group associated +with <em>context</em>.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> @@ -808,72 +826,73 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>An event object may be created by linking to an OpenGL sync object. -Completion of such an event object is equivalent to waiting for completion of the fence command associated with the linked GL sync object.</p> +<p>Completion of such an event object is equivalent to waiting for completion +of the fence command associated with the linked GL sync object.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>The parameters of an event object linked to a GL sync object will return the following values when queried with <a href="clGetEventInfo.html">clGetEventInfo</a>:</p> +<p><strong>clCreateEventFromGLsyncKHR</strong> returns a valid OpenCL event object and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the event object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p>The <code>CL_EVENT_COMMAND_QUEUE</code> of a linked event is NULL, because the event is not associated with any OpenCL command-queue.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context, or was not +created from a GL context.</p> </li> <li> -<p>The <code>CL_EVENT_COMMAND_TYPE</code> of a linked event is <code>CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR</code>, indicating that the event is associated with a GL sync object, rather than an OpenCL command.</p> -</li> -<li> -<p>The <code>CL_EVENT_COMMAND_EXECUTION_STATUS</code> of a linked event is either <code>CL_SUBMITTED</code>, indicating that the fence command associated with the sync object has not yet completed, or <code>CL_COMPLETE</code>, indicating that the fence command has completed.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if <em>sync</em> is not the name of a sync object in the +GL share group associated with <em>context</em>.</p> </li> </ul> </div> <div class="paragraph"> -<p><code>clCreateEventFromGLsyncKHR</code> performs an implicit <a href="clRetainEvent.html">clRetainEvent</a> on the returned event object. -Creating a linked event object also places a reference on the linked GL sync object. -When the event object is deleted, the reference will be removed from the GL sync object.</p> -</div> -<div class="paragraph"> -<p>Events returned from <code>clCreateEventFromGLsyncKHR</code> can be used in the -<em>event_wait_list</em> argument to <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a> and CL APIs -that take a <code>cl_event</code> as an argument but do not enqueue commands. Passing -such events to any other CL API that enqueues commands will generate a -<code>CL_INVALID_EVENT</code> error.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid OpenCL event object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the event object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p>The parameters of an event object linked to a GL sync object will return the +following values when queried with <strong>clGetEventInfo</strong>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context or was not created from a GL context.</p> +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>QUEUE</code> of a linked event is <code>NULL</code>, because the +event is not associated with any OpenCL command-queue.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if <em>sync</em> is not the name of a sync object in the GL share group associated with <em>context</em>.</p> +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>TYPE</code> of a linked event is +<code>CL_COMMAND_<wbr>GL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code>, indicating that the event is +associated with a GL sync object, rather than an OpenCL command.</p> +</li> +<li> +<p>The <code>CL_EVENT_<wbr>COMMAND_<wbr>EXECUTION_<wbr>STATUS</code> of a linked event is either +<code>CL_SUBMITTED</code>, indicating that the fence command associated with the +sync object has not yet completed, or <code>CL_COMPLETE</code>, indicating that the +fence command has completed.</p> </li> </ul> </div> +<div class="paragraph"> +<p><strong>clCreateEventFromGLsyncKHR</strong> performs an implicit <strong>clRetainEvent</strong> on the +returned event object. +Creating a linked event object also places a reference on the linked GL sync +object. +When the event object is deleted, the reference will be removed from the GL +sync object.</p> +</div> +<div class="paragraph"> +<p>Events returned from <strong>clCreateEventFromGLsyncKHR</strong> can be used in the +<em>event_wait_list</em> argument to <strong>clEnqueueAcquireGLObjects</strong> and CL APIs that +take a <code>cl_event</code> as an argument but do not enqueue commands. +Passing such events to any other CL API that enqueues commands will generate +a <code>CL_INVALID_<wbr>EVENT</code> error.</p> +</div> </div> </div> <div class="sect1"> <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="cl_khr_gl_event.html">cl_khr_gl_event</a>, -<a href="clGetEventInfo.html">clGetEventInfo</a>, -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, -<a href="clRetainEvent.html">clRetainEvent</a></p> +<p><a href="cl_GLsync.html">cl_GLsync</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_gl_event.html">cl_khr_gl_event</a></p> </div> </div> </div> @@ -881,10 +900,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateEventFromGLsyncKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLBuffer" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLBuffer</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -892,7 +912,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -902,8 +922,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D10BufferKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D10BufferKHR.html index 79af666..a9b4127 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D10BufferKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D10BufferKHR.html
@@ -767,20 +767,38 @@ <h1>clCreateFromD3D10BufferKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D10BufferKHR - Creates an OpenCL buffer object from a Direct3D 10 buffer.</p> +<p>clCreateFromD3D10BufferKHR - Create OpenCL buffer object from a Direct3D 10 buffer</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D10BufferKHR(cl_context context, - cl_mem_flags flags, - ID3D10Buffer *resource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL buffer object from a Direct3D 10 buffer, call the +function</p> </div> +<div id="clCreateFromD3D10BufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_mem clCreateFromD3D10BufferKHR( + cl_context context, + cl_mem_flags flags, + ID3D10Buffer* resource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D10BufferKHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -790,106 +808,79 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 10 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 10 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 10 buffer to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 10 buffer to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The size of the returned OpenCL buffer object is the same as the size of <em>resource</em>. -This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>The size of the returned OpenCL buffer object is the same as the size of +<em>resource</em>. +This call will increment the internal Direct3D 10 reference count on +<em>resource</em>. +The internal Direct3D 10 reference count on <em>resource</em> will be decremented when +the OpenCL reference count on the returned OpenCL memory object drops to +zero.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> +</tr> +</table> </div> <div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL buffer object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D10BufferKHR</strong> returns a valid non-zero OpenCL buffer object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid.</p> </li> <li> -<p><code>CL_INVALID_D3D10_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 10 buffer resource, if <em>resource</em> was created with the <code>D3D10_USAGE</code> flag <code>D3D10_USAGE_IMMUTABLE</code>, if a <code>cl_mem</code> from <em>resource</em> has already been created using <code>clCreateFromD3D10BufferKHR</code>, or if <em>context</em> was not created against the same Direct3D 10 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 10 +buffer resource, if <em>resource</em> was created with the D3D10_USAGE flag +D3D10_USAGE_IMMUTABLE, if a <code>cl_mem</code> from <em>resource</em> has already +been created using <strong>clCreateFromD3D10BufferKHR</strong>, or if <em>context</em> was not +created against the same Direct3D 10 device from which <em>resource</em> was +created.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -899,7 +890,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -907,10 +898,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D10BufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10BufferKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10BufferKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -918,7 +910,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -928,8 +920,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D10Texture2DKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D10Texture2DKHR.html index be6630c..be9c381 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D10Texture2DKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D10Texture2DKHR.html
@@ -767,21 +767,39 @@ <h1>clCreateFromD3D10Texture2DKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D10Texture2DKHR - Creates an OpenCL 2D image object from a subresource of a Direct3D 10 2D texture.</p> +<p>clCreateFromD3D10Texture2DKHR - Create OpenCL 2D image object from a Direct3D 10 2D texture</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D10Texture2DKHR(cl_context context, - cl_mem_flags flags, - ID3D10Texture2D *resource, - UINT subresource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL 2D image object from a subresource of a Direct3D 10 2D +texture, call the function</p> </div> +<div id="clCreateFromD3D10Texture2DKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_mem clCreateFromD3D10Texture2DKHR( + cl_context context, + cl_mem_flags flags, + ID3D10Texture2D* resource, + UINT subresource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D10Texture2DKHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,115 +809,95 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 10 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 10 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 10 2D texture to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 10 2D texture to share.</p> </li> <li> -<p><em>subresource</em> - The subresource of <em>resource</em> to share.</p> +<p><em>subresource</em> is the subresource of <em>resource</em> to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The width, height and depth of the returned OpenCL 2D image object are determined by the width, height and depth of subresource <em>subresource</em> of <em>resource</em>. -The channel type and order of the returned OpenCL 2D image object is determined by the format of <em>resource</em> as shown in of Direct3D 10 and corresponding OpenCL image formats of <em>resource</em> in <a href="clCreateFromD3D10Texture3DKHR.html">clCreateFromD3D10Texture3DKHR</a>.</p> +<p>The width and height of the returned OpenCL 2D image object are determined +by the width and height of subresource <em>subresource</em> of <em>resource</em>. +The channel type and order of the returned OpenCL 2D image object is +determined by the format of <em>resource</em> and the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI Formats and Corresponding OpenCL Image Formats</a> table.</p> </div> <div class="paragraph"> -<p>This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>This call will increment the internal Direct3D 10 reference count on +<em>resource</em>. +The internal Direct3D 10 reference count on <em>resource</em> will be decremented +when the OpenCL reference count on the returned OpenCL memory object drops +to zero.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> +</tr> +</table> </div> <div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D10Texture2DKHR</strong> returns a valid non-zero OpenCL image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if <em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +<em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> </li> <li> -<p><code>CL_INVALID_D3D10_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 10 texture resource, if <em>resource</em> was created with the <code>D3D10_USAGE</code> flag <code>D3D10_USAGE_IMMUTABLE</code>, if a <em>resource</em> is a multisampled texture, if a <code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already been created using <code>clCreateFromD3D10Texture2DKHR</code>, or if <em>context</em> was not created against the same Direct3D 10 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 10 +texture resource, if <em>resource</em> was created with the D3D10_USAGE flag +D3D10_USAGE_IMMUTABLE, if <em>resource</em> is a multisampled texture, if a +<code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already +been created using <strong>clCreateFromD3D10Texture2DKHR</strong>, or if <em>context</em> was +not created against the same Direct3D 10 device from which <em>resource</em> +was created.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the Direct3D 10 texture format of <em>resource</em> is not a value listed in the table of Direct3D 10 and corresponding OpenCL image formats for <a href="clCreateFromD3D10Texture3DKHR.html">clCreateFromD3D10Texture3DKHR</a>, or if the Direct3D 10 texture format of <em>resource</em> does not map to a supported OpenCL image format.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the Direct3D 10 texture format +of <em>resource</em> is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI +Formats and Corresponding OpenCL Image Formats</a> table or if the +Direct3D 10 texture format of <em>resource</em> does not map to a supported +OpenCL image format.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -909,7 +907,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -917,10 +915,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D10Texture2DKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10Texture2DKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10Texture2DKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -928,7 +927,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -938,8 +937,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D10Texture3DKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D10Texture3DKHR.html index 24eb084..6c4fb02 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D10Texture3DKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D10Texture3DKHR.html
@@ -767,21 +767,39 @@ <h1>clCreateFromD3D10Texture3DKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D10Texture3DKHR - Creates an OpenCL 3D image object from a subresource of a Direct3D 10 3D texture.</p> +<p>clCreateFromD3D10Texture3DKHR - Create OpenCL 3D image object from a Direct3D 10 3D texture</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D10Texture3DKHR(cl_context context, - cl_mem_flags flags, - ID3D10Texture3D *resource, - UINT subresource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL 3D image object from a subresource of a Direct3D 10 3D +texture, call the function</p> </div> +<div id="clCreateFromD3D10Texture3DKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_mem clCreateFromD3D10Texture3DKHR( + cl_context context, + cl_mem_flags flags, + ID3D10Texture3D* resource, + UINT subresource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D10Texture3DKHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,460 +809,96 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 10 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 10 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 10 3D texture to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 10 3D texture to share.</p> </li> <li> -<p><em>subresource</em> - The subresource of <em>resource</em> to share.</p> +<p><em>subresource</em> is the subresource of <em>resource</em> to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The width, height and depth of the returned OpenCL 3D image object are determined by the width, height and depth of subresource <em>subresource</em> of <em>resource</em>. -The channel type and order of the returned OpenCL 3D image object is determined by the format of <em>resource</em> as shown below in the table of Direct3D 10 and corresponding OpenCL image formats.</p> +<p>The width, height and depth of the returned OpenCL 3D image object are +determined by the width, height and depth of subresource <em>subresource</em> of +<em>resource</em>. +The channel type and order of the returned OpenCL 3D image object is +determined by the format of <em>resource</em> and the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI Formats and Corresponding OpenCL Image Formats</a> table.</p> </div> <div class="paragraph"> -<p>This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>This call will increment the internal Direct3D 10 reference count on +<em>resource</em>. +The internal Direct3D 10 reference count on <em>resource</em> will be decremented when +the OpenCL reference count on the returned OpenCL memory object drops to +zero.</p> </div> -<div class="paragraph"> -<p>Following is a list of Direct3D 10 and corresponding OpenCL image formats.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> +<div class="admonitionblock note"> +<table> <tr> -<th class="tableblock halign-left valign-top">DXGI format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> </tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_UNSIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_SIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_HALF_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_UNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_UNSIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_SNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_SIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_BGRA, CL_UNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_UNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_UNSIGNED_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_SNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RGBA, CL_SIGNED_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_UNSIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_SIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_HALF_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_UNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_UNSIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_SNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_SIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_UNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_UNSIGNED_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_SNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_RG, CL_SIGNED_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_UNSIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_SIGNED_INT32</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_HALF_FLOAT</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_UNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_UNSIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_SNORM_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_SIGNED_INT16</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_UNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_UNSIGNED_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_SNORM_INT8</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>CL_R, CL_SIGNED_INT8</p> -</div></div></td> -</tr> -</tbody> </table> -<div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> </div> <div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL buffer object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D10Texture3DKHR</strong> returns a valid non-zero OpenCL image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if <em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +<em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> </li> <li> -<p><code>CL_INVALID_D3D10_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 10 texture resource, if <em>resource</em> was created with the <code>D3D10_USAGE</code> flag <code>D3D10_USAGE_IMMUTABLE</code>, if a <em>resource</em> is a multisampled texture, if a <code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already been created using <code>clCreateFromD3D10Texture3DKHR</code>, or if <em>context</em> was not created against the same Direct3D 10 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 10 +texture resource, if <em>resource</em> was created with the D3D10_USAGE flag +D3D10_USAGE_IMMUTABLE, if <em>resource</em> is a multisampled texture, if a +<code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already +been created using <strong>clCreateFromD3D10Texture3DKHR</strong>, or if <em>context</em> was +not created against the same Direct3D 10 device from which <em>resource</em> +was created.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the Direct3D 10 texture format of <em>resource</em> is not a value listed in the above table of Direct3D 10 and corresponding OpenCL image formats, or if the Direct3D 10 texture format of <em>resource</em> does not map to a supported OpenCL image format.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the Direct3D 10 texture format +of <em>resource</em> is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI +Formats and Corresponding OpenCL Image Formats</a> table or if the +Direct3D 10 texture format of <em>resource</em> does not map to a supported +OpenCL image format.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1254,7 +908,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -1262,10 +916,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D10Texture3DKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10Texture3DKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D10Texture3DKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1273,7 +928,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1283,8 +938,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D11BufferKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D11BufferKHR.html index 816ffd5..b2a1ed1 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D11BufferKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D11BufferKHR.html
@@ -767,20 +767,38 @@ <h1>clCreateFromD3D11BufferKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D11BufferKHR - Creates an OpenCL buffer object from a Direct3D 11 buffer.</p> +<p>clCreateFromD3D11BufferKHR - Create OpenCL buffer object from a Direct3D 11 buffer</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D11BufferKHR(cl_context context, - cl_mem_flags flags, - ID3D11Buffer *resource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL buffer object from a Direct3D 11 buffer, call the +function</p> </div> +<div id="clCreateFromD3D11BufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_mem clCreateFromD3D11BufferKHR( + cl_context context, + cl_mem_flags flags, + ID3D11Buffer* resource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D11BufferKHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -790,109 +808,79 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 11 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 11 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 11 buffer to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 11 buffer to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The size of the returned OpenCL buffer object is the same as the size of <em>resource</em>. -This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>The size of the returned OpenCL buffer object is the same as the size of +<em>resource</em>. +This call will increment the internal Direct3D 11 reference count on +<em>resource</em>. +The internal Direct3D 11 reference count on <em>resource</em> will be decremented when +the OpenCL reference count on the returned OpenCL memory object drops to +zero.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> +</tr> +</table> </div> <div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -<div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL buffer object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D11BufferKHR</strong> returns a valid non-zero OpenCL buffer object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid.</p> </li> <li> -<p><code>CL_INVALID_D3D11_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 11 buffer resource, if <em>resource</em> was created with the <code>D3D11_USAGE</code> flag <code>D3D11_USAGE_IMMUTABLE</code>, if a <code>cl_mem</code> from <em>resource</em> has already been created using <code>clCreateFromD3D11BufferKHR</code>, or if <em>context</em> was not created against the same Direct3D 11 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 11 +buffer resource, if <em>resource</em> was created with the D3D11_USAGE flag +D3D11_USAGE_IMMUTABLE, if a <code>cl_mem</code> from <em>resource</em> has already +been created using <strong>clCreateFromD3D11BufferKHR</strong>, or if <em>context</em> was not +created against the same Direct3D 11 device from which <em>resource</em> was +created.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -902,7 +890,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -910,10 +898,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D11BufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11BufferKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11BufferKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -921,7 +910,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -931,8 +920,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D11Texture2DKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D11Texture2DKHR.html index a7a17bb..284230a 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D11Texture2DKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D11Texture2DKHR.html
@@ -767,21 +767,39 @@ <h1>clCreateFromD3D11Texture2DKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D11Texture2DKHR - Creates an OpenCL 2D image object from a subresource of a Direct3D 11 2D texture.</p> +<p>clCreateFromD3D11Texture2DKHR - Create OpenCL 2D image object from a Direct3D 11 2D texture</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D11Texture2DKHR(cl_context context, - cl_mem_flags flags, - ID3D11Texture2D *resource, - UINT subresource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL 2D image object from a subresource of a Direct3D 11 2D +texture, call the function</p> </div> +<div id="clCreateFromD3D11Texture2DKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_mem clCreateFromD3D11Texture2DKHR( + cl_context context, + cl_mem_flags flags, + ID3D11Texture2D* resource, + UINT subresource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D11Texture2DKHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,118 +809,95 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 11 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 11 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 11 2D texture to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 11 2D texture to share.</p> </li> <li> -<p><em>subresource</em> - The subresource of <em>resource</em> to share.</p> +<p><em>subresource</em> is the subresource of <em>resource</em> to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The width, height and depth of the returned OpenCL 2D image object are determined by the width, height and depth of subresource <em>subresource</em> of <em>resource</em>. -The channel type and order of the returned OpenCL 2D image object is determined by the format of <em>resource</em> as shown in Direct3D 11 and corresponding OpenCL image formats of <em>resource</em> in <a href="clCreateFromD3D11Texture3DKHR.html">clCreateFromD3D11Texture3DKHR</a>.</p> +<p>The width and height of the returned OpenCL 2D image object are determined +by the width and height of subresource <em>subresource</em> of <em>resource</em>. +The channel type and order of the returned OpenCL 2D image object is +determined by the format of <em>resource</em> and the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI Formats and Corresponding OpenCL Image Formats</a> table.</p> </div> <div class="paragraph"> -<p>This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>This call will increment the internal Direct3D 11 reference count on +<em>resource</em>. +The internal Direct3D 11 reference count on <em>resource</em> will be decremented when +the OpenCL reference count on the returned OpenCL memory object drops to +zero.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> +</tr> +</table> </div> <div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -<div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D11Texture2DKHR</strong> returns a valid non-zero OpenCL image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if <em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +<em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> </li> <li> -<p><code>CL_INVALID_D3D11_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 11 texture resource, if <em>resource</em> was created with the <code>D3D11_USAGE</code> flag <code>D3D11_USAGE_IMMUTABLE</code>, if a <em>resource</em> is a multisampled texture, if a <code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already been created using <code>clCreateFromD3D11Texture2DKHR</code>, or if <em>context</em> was not created against the same Direct3D 11 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 11 +texture resource, if <em>resource</em> was created with the D3D11_USAGE flag +D3D11_USAGE_IMMUTABLE, if <em>resource</em> is a multisampled texture, if a +<code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already +been created using <strong>clCreateFromD3D11Texture2DKHR</strong>, or if <em>context</em> was +not created against the same Direct3D 11 device from which <em>resource</em> +was created.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the Direct3D 11 texture format of <em>resource</em> is not a value listed in the table of Direct3D 11 and corresponding OpenCL image formats for <a href="clCreateFromD3D11Texture3DKHR.html">clCreateFromD3D11Texture3DKHR</a>, or if the Direct3D 11 texture format of <em>resource</em> does not map to a supported OpenCL image format.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the Direct3D 11 texture format +of <em>resource</em> is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI +Formats and Corresponding OpenCL Image Formats</a> table or if the +Direct3D 11 texture format of <em>resource</em> does not map to a supported +OpenCL image format.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -912,7 +907,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -920,10 +915,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D11Texture2DKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11Texture2DKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11Texture2DKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -931,7 +927,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -941,8 +937,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromD3D11Texture3DKHR.html b/sdk/3.0/docs/man/html/clCreateFromD3D11Texture3DKHR.html index 9b2f230..f74ad67 100644 --- a/sdk/3.0/docs/man/html/clCreateFromD3D11Texture3DKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromD3D11Texture3DKHR.html
@@ -767,21 +767,39 @@ <h1>clCreateFromD3D11Texture3DKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromD3D11Texture3DKHR - Creates an OpenCL 3D image object from a subresource of a Direct3D 11 3D texture.</p> +<p>clCreateFromD3D11Texture3DKHR - Create OpenCL 3D image object from a Direct3D 11 3D texture</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromD3D11Texture3DKHR(cl_context context, - cl_mem_flags flags, - ID3D11Texture3D *resource, - UINT subresource, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL 3D image object from a subresource of a Direct3D 11 3D +texture, call the function</p> </div> +<div id="clCreateFromD3D11Texture3DKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_mem clCreateFromD3D11Texture3DKHR( + cl_context context, + cl_mem_flags flags, + ID3D11Texture3D* resource, + UINT subresource, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromD3D11Texture3DKHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,428 +809,96 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a Direct3D 11 device.</p> +<p><em>context</em> is a valid OpenCL context created from a Direct3D 11 device.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. May be -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, or <code>CL_MEM_READ_WRITE</code>. (See -the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for more information.)</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>resource</em> - A pointer to the Direct3D 11 texture to share.</p> +<p><em>resource</em> is a pointer to the Direct3D 11 3D texture to share.</p> </li> <li> -<p><em>subresource</em> - The subresource of <em>resource</em> to share.</p> +<p><em>subresource</em> is the subresource of <em>resource</em> to share.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The width, height and depth of the returned OpenCL 3D image object are determined by the width, height and depth of subresource <em>subresource</em> of <em>resource</em>. -The channel type and order of the returned OpenCL 3D image object is determined by the format of <em>resource</em> as shown in the table below (Table 9.9.3).</p> +<p>The width, height and depth of the returned OpenCL 3D image object are +determined by the width, height and depth of subresource <em>subresource</em> of +<em>resource</em>. +The channel type and order of the returned OpenCL 3D image object is +determined by the format of <em>resource</em> and the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI Formats and Corresponding OpenCL Image Formats</a> table.</p> </div> <div class="paragraph"> -<p>This call will increment the internal Direct3D reference count on <em>resource</em>. -The internal Direct3D reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>This call will increment the internal Direct3D 11 reference count on +<em>resource</em>. +The internal Direct3D 11 reference count on <em>resource</em> will be decremented when +the OpenCL reference count on the returned OpenCL memory object drops to +zero.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> +<div class="admonitionblock note"> +<table> <tr> -<th class="tableblock halign-left valign-top">DXGI format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-direct3d-memory-objects" target="_blank" rel="noopener">Lifetime of Shared Direct3D Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> </tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32B32A32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16B16A16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_B8G8R8A8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8B8A8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32G32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16G16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8G8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R32_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_FLOAT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R16_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_UNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_UINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>DXGI_FORMAT_R8_SINT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -</tbody> </table> -<div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> </div> <div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -<div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromD3D11Texture3DKHR</strong> returns a valid non-zero OpenCL image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if <em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +<em>subresource</em> is not a valid subresource index for <em>resource</em>.</p> </li> <li> -<p><code>CL_INVALID_D3D11_RESOURCE_KHR</code> if <em>resource</em> is not a Direct3D 11 texture resource, if <em>resource</em> was created with the <code>D3D11_USAGE</code> flag <code>D3D11_USAGE_IMMUTABLE</code>, if a <em>resource</em> is a multisampled texture, if a <code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already been created using <code>clCreateFromD3D11Texture3DKHR</code>, or if <em>context</em> was not created against the same Direct3D 11 device from which <em>resource</em> was created.</p> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> if <em>resource</em> is not a Direct3D 11 +texture resource, if <em>resource</em> was created with the D3D11_USAGE flag +D3D11_USAGE_IMMUTABLE, if <em>resource</em> is a multisampled texture, if a +<code>cl_mem</code> from subresource <em>subresource</em> of <em>resource</em> has already +been created using <strong>clCreateFromD3D11Texture3DKHR</strong>, or if <em>context</em> was +not created against the same Direct3D 11 device from which <em>resource</em> +was created.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the Direct3D 11 texture format of <em>resource</em> is not a value listed in the table above of Direct3D 11 and corresponding OpenCL image formats, or if the Direct3D 11 texture format of <em>resource</em> does not map to a supported OpenCL image format.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the Direct3D 11 texture format +of <em>resource</em> is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dxgi-image-formats-table" target="_blank" rel="noopener">DXGI +Formats and Corresponding OpenCL Image Formats</a> table or if the +Direct3D 11 texture format of <em>resource</em> does not map to a supported +OpenCL image format.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1222,7 +908,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -1230,10 +916,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromD3D11Texture3DKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11Texture3DKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromD3D11Texture3DKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1241,7 +928,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1251,8 +938,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromDX9MediaSurfaceKHR.html b/sdk/3.0/docs/man/html/clCreateFromDX9MediaSurfaceKHR.html index 81900aa..08204d0 100644 --- a/sdk/3.0/docs/man/html/clCreateFromDX9MediaSurfaceKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromDX9MediaSurfaceKHR.html
@@ -767,22 +767,39 @@ <h1>clCreateFromDX9MediaSurfaceKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromDX9MediaSurfaceKHR - Creates an OpenCL image object from a media surface.</p> +<p>clCreateFromDX9MediaSurfaceKHR - Create OpenCL image object from a media surface</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromDX9MediaSurfaceKHR(cl_context context, - cl_mem_flags flags, - cl_dx9_media_adapter_type_khr adapter_type, - void *surface_info, - cl_uint plane, - cl_int *errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL image object from a media surface, call the function</p> </div> +<div id="clCreateFromDX9MediaSurfaceKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_dx9_media_sharing +cl_mem clCreateFromDX9MediaSurfaceKHR( + cl_context context, + cl_mem_flags flags, + cl_dx9_media_adapter_type_khr adapter_type, + void* surface_info, + cl_uint plane, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromDX9MediaSurfaceKHR</strong> is provided by the <code>cl_khr_dx9_media_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,365 +809,107 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from a media adapter.</p> +<p><em>context</em> is a valid OpenCL context created from a media adapter.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. Refer -to the table of allowed values for <em>flags</em> for <a href="clCreateBuffer.html">clCreateBuffer</a>. -Only <code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, and <code>CL_MEM_READ_WRITE</code> -values specified in the table of allowed values for <em>flags</em> for -<a href="clCreateBuffer.html">clCreateBuffer</a> can be used.</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">List of supported memory flag +values</a> table for a description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>adapter_type</em></p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>A value from enumeration of supported adapters described in the table of -<code>cl_dx9_media_adapter_type_khr</code> values for -<a href="clGetDeviceIDsFromDX9MediaAdapterKHR.html">clGetDeviceIDsFromDX9MediaAdapterKHR</a>. +<p><em>adapter_type</em> is a value from enumeration of supported adapters +described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dx9-media-adapter-types" target="_blank" rel="noopener">cl_dx9_media_adapter_type_khr values</a> table. The type of <em>surface_info</em> is determined by the adapter type. The implementation does not need to support all adapter types. -This approach provides flexibility to support additional adapter types in -the future. -Supported adapter types are <code>CL_ADAPTER_D3D9_KHR</code>, <code>CL_ADAPTER_D3D9EX_KHR</code>, -and <code>CL_ADAPTER_DXVA_KHR</code>.</p> -</div> -<div class="paragraph"> -<p>If <em>adapter_type</em> is <code>CL_ADAPTER_D3D9_KHR</code>, <code>CL_ADAPTER_D3D9EX_KHR</code>, or -<code>CL_ADAPTER_DXVA_KHR</code>, the <em>surface_info</em> points to the following structure:</p> -</div> -<div class="paragraph"> -<p><code>typedef struct _cl_dx9_surface_info_khr { IDirect3DSurface9 *resource; HANDLE shared_handle; } cl_dx9_surface_info_khr;</code></p> -</div> -<div class="paragraph"> -<p>For D3D9 surfaces, we need both the handle to the resource and the resource -itself to have a sufficient amount of information to eliminate a copy of the -surface for sharing in cases where this is possible. Elimination of the copy -is driver dependent. <code>shared_handle</code> may be NULL and this may result in -sub-optimal performance.</p> -</div> -</div> -</div> +This approach provides flexibility to support additional adapter types +in the future. +Supported adapter types are <code>CL_ADAPTER_<wbr>D3D9_<wbr>KHR</code>, +<code>CL_ADAPTER_<wbr>D3D9EX_<wbr>KHR</code> and <code>CL_ADAPTER_<wbr>DXVA_<wbr>KHR</code>.</p> </li> <li> -<p><em>surface_info</em> - A pointer to one of the structures defined in the -<em>adapter_type</em> description above passed in as a <code>void</code> *.</p> +<p><em>surface_info</em> is a pointer to one of the structures defined in the +<em>adapter_type</em> description above, passed in as a <code>void *</code>. +If <em>adapter_type</em> is <code>CL_ADAPTER_<wbr>D3D9_<wbr>KHR</code>, <code>CL_ADAPTER_<wbr>D3D9EX_<wbr>KHR</code> and +<code>CL_ADAPTER_<wbr>DXVA_<wbr>KHR</code>, <em>surface_info</em> points to a +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_dx9_surface_info_khr" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_dx9_surface_info_khr</a> structure describing the surface.</p> </li> <li> -<p><em>plane</em> - The plane of resource to share for planar surface formats. For -planar formats, we use the plane parameter to obtain a handle to thie -specific plane (Y, U or V for example). For nonplanar formats used by -media, <em>plane</em> must be 0.</p> +<p><em>plane</em> is the plane of resource to share for planar surface formats. +For planar formats, we use the plane parameter to obtain a handle to +thie specific plane (Y, U or V for example). +For non-planar formats used by media, <em>plane</em> must be 0.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The width and height of the returned OpenCL 2D image object are determined by the width and height of the plane of resource. -The channel type and order of the returned image object is determined by the format and plane of resource and are described in tables 9.10.3 and 9.10.4.</p> +<p>The width and height of the returned OpenCL 2D image object are determined +by the width and height of the <em>plane</em> of the resource +(<em>surface_info</em>→_resource_). +The channel type and order of the returned image object is determined by the +format and plane of the resource, and are described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#fourcc-image-formats-table" target="_blank" rel="noopener">YUV FourCC Codes and Corresponding OpenCL +Image Formats</a> and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d9-image-formats-table" target="_blank" rel="noopener">Direct3D 9 Formats and +Corresponding OpenCL Image Formats</a> tables.</p> </div> <div class="paragraph"> -<p>This call will increment the internal media surface count on <em>resource</em>. -The internal media surface reference count on <em>resource</em> will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.</p> +<p>This call will increment the internal media surface count on the resource. +The internal media surface reference count on the resource will be +decremented when the OpenCL reference count on the returned OpenCL memory +object drops to zero.</p> </div> <div class="paragraph"> -<p>General information about sharing memory objects with DX9 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to allow applications to use media surfaces as -OpenCL memory objects. This allows efficient sharing of data between OpenCL -and selected adapter APIs (only DX9 for now). If this extension is -supported, an OpenCL image object can be created from a media surface and -the OpenCL API can be used to execute kernels that read and/or write memory -objects that are media surfaces. Note that OpenCL memory objects may be -created from the adapter media surface if and only if the OpenCL context has -been created from that adapter.</p> -</div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string -"cl_khr_dx9_media_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> -(see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_dx9_media_sharing.h</code>.</p> -</div> -<div class="paragraph"> -<div class="title">Surface formats for Media Surface Sharing</div> -<p>This section includes the D3D surface formats that are supported when the -adapter type is one of the Direct 3D lineage. Using a D3D surface format not -listed here is an error. To extend the use of this extension to support -media adapters beyond DirectX9 tables similar to the ones in this section -will need to be defined for the surface formats supported by the new media -adapter. All implementations that support this extension are required to -support the NV12 surface format, the other surface formats supported are the -same surface formats that the adapter you are sharing with supports as long -as they are listed in the tables below (Tables 9.10.3 and 9.10.4).</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">FOUR CC code</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>In the table above, NV12 Plane 0 corresponds to the luminance (Y) channel -and Plane 1 corresponds to the UV channels. The YV12 Plane 0 corresponds to -the Y channel, Plane 1 to the U channel and Plane 2 to the V channel. Note -that the YUV formats map to <code>CL_R</code> and <code>CL_RG</code> but do not perform any YUV to -RGB conversion and vice-versa.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">D3D format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_A, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A32B32G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Note that D3D9 format names seem to imply that the order of the color -channels are switched relative to OpenCL but this is not the case. For -example, layout of channels for each pixel for <code>D3DFMT_A32FB32FG32FR32F</code> is -the same as <code>CL_RGBA</code>, <code>CL_FLOAT</code>.</p> -</div> -<div class="paragraph"> -<p>Properties of media surface objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR</code>, <code>CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR</code> and -<code>CL_IMAGE_DX9_MEDIA_SURFACE_PLANE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero 2D image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the 2D image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromDX9MediaSurfaceKHR</strong> returns a valid non-zero 2D image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the 2D image object is created +successfully. +Otherwise it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if <em>plane</em> is not a valid plane of <em>resource</em> specified in <em>surface_info</em>.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +<em>plane</em> is not a valid plane of <em>resource</em> specified in <em>surface_info</em>.</p> </li> <li> -<p><code>CL_INVALID_DX9_MEDIA_SURFACE_KHR</code> if <em>resource</em> specified in <em>surface_info</em> is not a valid resource or is not associated with <em>adapter_type</em> (e.g., <em>adapter_type</em> is set to <code>CL_ADAPTER_D3D9_KHR</code> and <em>resource</em> is not a Direct3D 9 surface created in <code>D3DPOOL_DEFAULT</code>).</p> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>KHR</code> if <em>resource</em> specified in +<em>surface_info</em> is not a valid resource or is not associated with +<em>adapter_type</em> (e.g., <em>adapter_type</em> is set to <code>CL_ADAPTER_<wbr>D3D9_<wbr>KHR</code> and +<em>resource</em> is not a Direct3D 9 surface created in D3DPOOL_DEFAULT).</p> </li> <li> -<p><code>CL_INVALID_DX9_MEDIA_SURFACE_KHR</code> if <code>shared_handle</code> specified in <em>surface_info</em> is not NULL or a valid handle value.</p> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>KHR</code> if <em>shared_handle</em> specified in +<em>surface_info</em> is not <code>NULL</code> or a valid handle value.</p> </li> <li> -<p><code>CL_INVALID_DX9_MEDIA_SURFACE_KHR</code> if <em>adapter_type</em> is set to a media adapter and the <em>surface_info</em> does not reference a media surface of the required type, or if <em>adapter_type</em> is set to a media adapter type and <em>surface_info</em> does not contain a valid reference to a media surface on that adapter, by -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> when <em>param_name</em> is a surface or handle when the image was not created from an appropriate media surface, and from -<a href="clGetImageInfo.html">clGetImageInfo</a> when <em>param_name</em> is <code>CL_IMAGE_DX9_MEDIA_PLANE_KHR</code> and image was not created from an appropriate media surface.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the texture format of <em>resource</em> +is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#fourcc-image-formats-table" target="_blank" rel="noopener">YUV FourCC Codes and +Corresponding OpenCL Image Formats</a> or <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d9-image-formats-table" target="_blank" rel="noopener">Direct3D 9 Formats and Corresponding OpenCL Image Formats</a> tables.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the texture format of <em>resource</em> is not listed in tables 9.10.3 and 9.10.4.</p> +<p><code>CL_INVALID_<wbr>OPERATION</code> if there are no devices in <em>context</em> that support +<em>adapter_type</em>.</p> </li> <li> -<p><code>CL_INVALID_OPERATION</code> if there are no devices in <em>context</em> that support <em>adapter_type</em>.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> -</li> -<li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1160,8 +919,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a>, -<a href="clCreateBuffer.html">clCreateBuffer</a>,</p> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_dx9_media_adapter_type_khr.html">cl_dx9_media_adapter_type_khr</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1169,10 +927,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromDX9MediaSurfaceKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromDX9MediaSurfaceKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromDX9MediaSurfaceKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1180,7 +939,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1190,8 +949,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromEGLImageKHR.html b/sdk/3.0/docs/man/html/clCreateFromEGLImageKHR.html index bec8a73..90b16b2 100644 --- a/sdk/3.0/docs/man/html/clCreateFromEGLImageKHR.html +++ b/sdk/3.0/docs/man/html/clCreateFromEGLImageKHR.html
@@ -767,21 +767,40 @@ <h1>clCreateFromEGLImageKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromEGLImageKHR - Creates an EGLImage target from an EGLImage source.</p> +<p>clCreateFromEGLImageKHR - Create cl_mem target from EGLImage source</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromEGLImageKHR(cl_context context, - CLeglDisplayKHR display, - CLeglImageKHR image, - cl_mem_flags flags, - const cl_egl_image_properties_khr * properties, - cl_int * errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an <code>EGLImage</code> target of type <code>cl_mem</code> from the <code>EGLImage</code> source +provided as <em>image</em>, call the function</p> </div> +<div id="clCreateFromEGLImageKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_egl_image +cl_mem clCreateFromEGLImageKHR( + cl_context context, + CLeglDisplayKHR egldisplay, + CLeglImageKHR eglimage, + cl_mem_flags flags, + const cl_egl_image_properties_khr* properties, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromEGLImageKHR</strong> is provided by the <code>cl_khr_egl_image</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,56 +810,38 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context.</p> -</li> -<li> -<p><em>display</em> - Should be of type <code>EGLDisplay</code>, cast into the type +<p><em>display</em> should be of type <code>EGLDisplay</code>, cast into the type <code>CLeglDisplayKHR</code>.</p> </li> <li> -<p><em>image</em> - Should be of type <code>EGLImageKHR</code>, cast into the type -<code>CLeglImageKHR</code>. Assuming no errors are generated in this function, the -resulting image object will be an EGLImage target of the specified -EGLImage <em>image</em>. The resulting <code>cl_mem</code> is an image object which may be -used normally by all OpenCL operations. This maps to an <code>image2d_t</code> type -in OpenCL kernel code.</p> +<p><em>image</em> should be of type <code>EGLImageKHR</code>, cast into the type +<code>CLeglImageKHR</code>. +Assuming no errors are generated in this function, the resulting image +object will be an <code>EGLImage</code> target of the specified <code>EGLImage</code> <em>image</em>. +The resulting <code>cl_mem</code> is an image object which may be used normally by +all OpenCL operations. +This maps to an <code>image2d_t</code> type in OpenCL kernel code.</p> </li> <li> -<p><em>flags</em> -</p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>A bit-field that is used to specify usage information about the memory -object being created. The possible values for <em>flags</em> are: -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code> and <code>CL_MEM_READ_WRITE</code>.</p> -</div> -<div class="paragraph"> -<p>For OpenCL 1.2 <em>flags</em> also accepts: <code>CL_MEM_HOST_WRITE_ONLY</code>, -<code>CL_MEM_HOST_READ_ONLY</code> or <code>CL_MEM_HOST_NO_ACCESS</code>.</p> -</div> -<div class="paragraph"> -<p>This extension only requires support for <code>CL_MEM_READ_ONLY</code>, and for OpenCL -1.2 <code>CL_MEM_HOST_NO_ACCESS</code>. For OpenCL 1.1, a <code>CL_INVALID_OPERATION</code> will -be returned for images which do not support host mapping.</p> -</div> -<div class="paragraph"> -<p>If the value passed in <em>flags</em> is not supported by the OpenCL implementation -it will return <code>CL_INVALID_VALUE</code>. The accepted <em>flags</em> may be dependent -upon the texture format used.</p> -</div> -</div> -</div> +<p><em>flags</em> is a bit-field that is used to specify usage information about +the memory object being created. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">Memory Flags</a> table for a +description of <em>flags</em>. +Accepted values in <em>flags</em> are described below.</p> </li> <li> -<p><em>properties</em> - Specifies a list of property names and their -corresponding values. Each property name is immediately followed by the -corresponding desired value. The list is terminated with 0. No -properties are currently supported with this version of the extension. -<em>properties</em> can be NULL.</p> +<p><em>properties</em> specifies a list of property names and their corresponding +values. +Each property name is immediately followed by the corresponding desired +value. +The list is terminated with 0. +No properties are currently supported with this version of the +extension. +<em>properties</em> can be <code>NULL</code>.</p> </li> <li> -<p><em>errcode_ret</em> - An appropriate error code. If <em>errcode_ret</em> is NULL, no -error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> @@ -850,92 +851,61 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p><code>clCreateFromEGLImageKHR</code> creates an EGLImage target of type <code>cl_mem</code> from -the EGLImage source provided as <em>image</em>.</p> +<p>Accepted for <em>flags</em> are <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and +CL_MEM_READ_WRITE. +If OpenCL 1.2 is supported, <em>flags</em> also accepts <code>CL_MEM_<wbr>HOST_<wbr>WRITE_<wbr>ONLY</code>, +<code>CL_MEM_<wbr>HOST_<wbr>READ_<wbr>ONLY</code>, and <code>CL_MEM_<wbr>HOST_<wbr>NO_<wbr>ACCESS</code>.</p> </div> <div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from an EGL image remains valid according to -the lifetime behaviour as described in EGL_KHR_image_base.</p> +<p><code>cl_khr_<wbr>egl_<wbr>image</code> only requires support for <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, and for +CL_MEM_HOST_NO_ACCESS if OpenCL 1.2 or later is supported. +For OpenCL 1.1, a <code>CL_INVALID_<wbr>OPERATION</code> will be returned for images which +do not support host mapping.</p> </div> <div class="paragraph"> -<p>"Any EGLImage siblings exist in any client API context"</p> +<p>If the value passed in <em>flags</em> is not supported by the OpenCL +implementation, it will return <code>CL_INVALID_<wbr>VALUE</code>. +The accepted <em>flags</em> may be dependent upon the texture format used.</p> </div> <div class="paragraph"> -<p>For OpenCL this means that while the application retains a reference on the -<code>cl_mem</code> (EGL sibling), the image remains valid.</p> +<p><strong>clCreateFromEGLImageKHR</strong> returns a valid non-zero OpenCL image object and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and EGL Access to Shared Objects</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/EGL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireEGLObjectsKHR.html">clEnqueueAcquireEGLObjectsKHR</a>, the application must -ensure that any pending operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished in a portable way by -ceasing all client operations on the resource, and issuing and waiting for -completion of a <code>glFinish</code> command on all GL contexts with pending -references to these objects. Implementations may offer more efficient -synchronization methods, such as synchronisation primitives or fence -operations.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <code>clEnqueueReleaseEGLImageObjects</code>, the application -is responsible for ensuring that any pending OpenCL operations which access -the objects specified in <em>mem_objects</em> have completed prior to executing -subsequent commands in other APIs which reference these objects. This may be -accomplished in a portable way by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with -the event object returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by -calling <a href="clFinish.html">clFinish</a>. As above, some implementations may offer more -efficient methods.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an EGLImage object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared EGLImage object from -OpenCL before it has been acquired by the OpenCL command-queue or after it -has been released, will result in undefined behavior.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid OpenCL context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid OpenCL context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>properties</em> contains invalid values, if <em>display</em> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>properties</em> contains invalid values, if <em>display</em> is not a valid display object or if <em>flags</em> are not in the set defined above.</p> </li> <li> -<p><code>CL_INVALID_EGL_OBJECT_KHR</code> if <em>image</em> is not a valid EGLImage object.</p> +<p><code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code> if <em>image</em> is not a valid <code>EGLImage</code> object.</p> </li> <li> -<p><code>CL_IMAGE_FORMAT_NOT_SUPPORTED</code> if the OpenCL implementation is not able -to create a <code>cl_mem</code> compatible with the provided <code>CLeglImageKHR</code> for an -implementation-dependent reason (this could be caused by, but not limited -to, reasons such as unsupported texture formats, etc).</p> +<p><code>CL_IMAGE_<wbr>FORMAT_<wbr>NOT_<wbr>SUPPORTED</code> if the OpenCL implementation is not able +to create a <code>cl_mem</code> compatible with the provided <code>CLeglImageKHR</code> +for an implementation-dependent reason (this could be caused by, but not +limited to, reasons such as unsupported texture formats, etc).</p> </li> <li> -<p><code>CL_INVALID_OPERATION</code> if there are no devices in <em>context</em> that support -images (i.e. <code>CL_DEVICE_IMAGE_SUPPORT</code> specified in table 4.3 (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>) is <code>CL_FALSE</code>) or if the flags passed are not -supported for that image type.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources -required by the OpenCL implementation on the host.</p> +<p><code>CL_INVALID_<wbr>OPERATION</code> if there are no devices in <em>context</em> that support +images (i.e. <code>CL_DEVICE_<wbr>IMAGE_<wbr>SUPPORT</code> specified in table 4.3 is +<code>CL_FALSE</code>) or if the flags passed are not supported for that image +type.</p> </li> </ul> </div> @@ -945,8 +915,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a></p> +<p><a href="CLeglDisplayKHR.html">CLeglDisplayKHR</a>, <a href="CLeglImageKHR.html">CLeglImageKHR</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_egl_image_properties_khr.html">cl_egl_image_properties_khr</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -954,10 +923,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromEGLImageKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -965,7 +935,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -975,8 +945,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromGLBuffer.html b/sdk/3.0/docs/man/html/clCreateFromGLBuffer.html index 680fc86..537a4dc 100644 --- a/sdk/3.0/docs/man/html/clCreateFromGLBuffer.html +++ b/sdk/3.0/docs/man/html/clCreateFromGLBuffer.html
@@ -767,20 +767,38 @@ <h1>clCreateFromGLBuffer(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromGLBuffer - Creates an OpenCL buffer object from an OpenGL buffer object.</p> +<p>clCreateFromGLBuffer - Create OpenCL buffer object from an OpenGL buffer object</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromGLBuffer(cl_context context, - cl_mem_flags flags, - GLuint bufobj, - cl_int * errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL buffer object from an OpenGL buffer object, call the +function</p> </div> +<div id="clCreateFromGLBuffer" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_mem clCreateFromGLBuffer( + cl_context context, + cl_mem_flags flags, + cl_GLuint bufobj, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromGLBuffer</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -790,24 +808,26 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from an OpenGL context.</p> +<p><em>context</em> is a valid OpenCL context created from an OpenGL context.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. Refer -to the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for a description of <em>flags</em>. Only -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code> and <code>CL_MEM_READ_WRITE</code> values -specified in the table at <a href="clCreateBuffer.html">clCreateBuffer</a> can be used.</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">Memory Flags</a> table for a +description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>bufobj</em> - The name of a GL buffer object. The data store of the GL -buffer object must have have been previously created by calling OpenGL -function <code>glBufferData</code>, although its contents need not be initialized. -The size of the data store will be used to determine the size of the CL -buffer object.</p> +<p><em>bufobj</em> is the name of an OpenGL buffer object. +The data store of the OpenGL buffer object must have have been +previously created by calling <code>glBufferData</code>, although its contents need +not be initialized. +The size of the data store will be used to determine the size of the +OpenCL buffer object.</p> </li> <li> -<p><em>errcode_ret</em> - Returns an appropriate error code as described below. If -<em>errcode_ret</em> is NULL, no error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code as described below. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> @@ -817,569 +837,65 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The size of the GL buffer object data store at the time <code>clCreateFromGLBuffer</code> is called will be used as the size of buffer object returned by <code>clCreateFromGLBuffer</code>. -If the state of a GL buffer object is modified through the GL API (e.g. -<code>glBufferData</code>) while there exists a corresponding CL buffer object, subsequent use of the CL buffer object will result in undefined behavior.</p> +<p>The size of the OpenGL buffer object data store at the time +<strong>clCreateFromGLBuffer</strong> is called will be used as the size of buffer object +returned by <strong>clCreateFromGLBuffer</strong>. +If the state of an OpenGL buffer object is modified through the OpenGL API +(e.g. <code>glBufferData</code>) while there exists a corresponding OpenCL buffer +object, subsequent use of the OpenCL buffer object will result in undefined +behavior.</p> </div> <div class="paragraph"> -<p>The <a href="clRetainMemObject.html">clRetainMemObject</a> and -<a href="clReleaseMemObject.html">clReleaseMemObject</a> functions can be used to retain and release the buffer object.</p> +<p>The <strong>clRetainMemObject</strong> and <strong>clReleaseMemObject</strong> functions can be used to +retain and release the buffer object.</p> </div> <div class="paragraph"> -<p>The CL buffer object created using <code>clCreateFromGLBuffer</code> can also be used to create a CL 1D image buffer object.</p> +<p>The OpenCL buffer object created using <strong>clCreateFromGLBuffer</strong> can also be +used to create an OpenCL 1D image buffer object.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>General information about GL sharing follows.</p> -</div> -<div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> -</div> -<div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is -successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> +<div class="admonitionblock note"> +<table> <tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-opengl-memory-objects" target="_blank" rel="noopener">Lifetime of Shared OpenCL/OpenGL Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> </tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -</tbody> </table> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> </div> <div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL buffer object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromGLBuffer</strong> returns a valid non-zero OpenCL buffer object and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the buffer object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context or was not created from a GL context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context or was not +created from an OpenGL context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if <em>bufobj</em> is not a GL buffer object or is a GL buffer object but does not have an existing data store or the size of the buffer is 0.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if <em>bufobj</em> is not an OpenGL buffer object or is a +OpenGL buffer object but does not have an existing data store or the +size of the buffer is 0.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1389,10 +905,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="cl_khr_gl_event.html">cl_khr_gl_event</a>, -<a href="clCreateBuffer.html">clCreateBuffer</a>, -<a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a></p> +<p><a href="cl_GLuint.html">cl_GLuint</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -1400,10 +913,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromGLBuffer" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLBuffer" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLBuffer</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1411,7 +925,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1421,8 +935,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromGLRenderbuffer.html b/sdk/3.0/docs/man/html/clCreateFromGLRenderbuffer.html index 0ce5341..316c52d 100644 --- a/sdk/3.0/docs/man/html/clCreateFromGLRenderbuffer.html +++ b/sdk/3.0/docs/man/html/clCreateFromGLRenderbuffer.html
@@ -767,20 +767,38 @@ <h1>clCreateFromGLRenderbuffer(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromGLRenderbuffer - Creates an OpenCL 2D image object from an OpenGL renderbuffer object.</p> +<p>clCreateFromGLRenderbuffer - Create OpenCL 2D image object from an OpenGL renderbuffer</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromGLRenderbuffer(cl_context context, - cl_mem_flags flags, - GLuint renderbuffer, - cl_int * errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL 2D image object from an OpenGL renderbuffer object, call +the function</p> </div> +<div id="clCreateFromGLRenderbuffer" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_mem clCreateFromGLRenderbuffer( + cl_context context, + cl_mem_flags flags, + cl_GLuint renderbuffer, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromGLRenderbuffer</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -790,26 +808,29 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from an OpenGL context.</p> +<p><em>context</em> is a valid OpenCL context created from an OpenGL context.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. Refer -to the table at <a href="clCreateBuffer.html">clCreateBuffer</a> for a description of <em>flags</em>. Only -<code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code>, and <code>CL_MEM_READ_WRITE</code> values -specified in the table at <a href="clCreateBuffer.html">clCreateBuffer</a> can be used.</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">Memory Flags</a> table for a +description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>renderbuffer</em> - The name of a GL renderbuffer object. The renderbuffer -storage must be specified before the image object can be created. The -<em>renderbuffer</em> format and dimensions defined by OpenGL will be used to -create the 2D image object. Only GL renderbuffers with internal formats -that map to appropriate image channel order and data type specified in -tables 5.5 and 5.6 (see <a href="cl_image_format.html">cl_image_format</a>) can be used to create -the 2D image object.</p> +<p><em>renderbuffer</em> is the name of an OpenGL renderbuffer object. +The renderbuffer storage must be specified before the image object can +be created. +The <em>renderbuffer</em> format and dimensions defined by OpenGL will be used +to create the 2D image object. +Only OpenGL renderbuffers with an internal format that maps to an +appropriate <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-order-table" target="_blank" rel="noopener">Image Channel Order</a> and +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-data-types-table" target="_blank" rel="noopener">Image Channel Data Type</a> may be used +to create the 2D image object.</p> </li> <li> -<p><em>errcode_ret</em> - Returns an appropriate error code as described below. If -<em>errcode_ret</em> is NULL, no error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code as described below. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> @@ -819,566 +840,81 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>If the state of a GL renderbuffer object is modified through the GL API (i.e. -changes to the dimensions or format used to represent pixels of the GL renderbuffer using appropriate GL API calls such as <code>glRenderbufferStorage</code>) while there exists a corresponding CL image object, subsequent use of the CL image object will result in undefined behavior.</p> +<p>If the state of an OpenGL renderbuffer object is modified through the OpenGL +API (i.e. changes to the dimensions or format used to represent pixels of +the OpenGL renderbuffer using appropriate OpenGL API calls such as +<code>glRenderbufferStorage</code>) while there exists a corresponding OpenCL image +object, subsequent use of the OpenCL image object will result in undefined +behavior.</p> </div> <div class="paragraph"> -<p>The <a href="clRetainMemObject.html">clRetainMemObject</a> and -<a href="clReleaseMemObject.html">clReleaseMemObject</a> functions can be used to retain and release the image objects.</p> +<p>The <strong>clRetainMemObject</strong> and <strong>clReleaseMemObject</strong> functions can be used to +retain and release the image objects.</p> </div> <div class="paragraph"> -<p>General information about GL sharing follows.</p> -</div> -<div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> -</div> -<div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#opengl-image-formats-table" target="_blank" rel="noopener">OpenGL Internal Formats and +Corresponding OpenCL Internal Formats</a> table describes the list of OpenGL +renderbuffer internal formats and the Corresponding OpenCL Image Formats. +If an OpenGL renderbuffer object with an internal format from the table is successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> +one of the corresponding OpenCL image format(s) in that table. +Renderbuffer objects created with other OpenGL internal formats may (but are +not guaranteed to) have a mapping to an OpenCL image format; if such +mappings exist, they are guaranteed to preserve all color components, data +types, and at least the number of bits/component actually allocated by +OpenGL for that format.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> +<div class="admonitionblock note"> +<table> <tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-opengl-memory-objects" target="_blank" rel="noopener">Lifetime of Shared OpenCL/OpenGL Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> </tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -</tbody> </table> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> </div> <div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromGLRenderbuffer</strong> returns a valid non-zero OpenCL image object +and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context or was not created from a GL context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context or was not +created from an OpenGL context.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if <em>renderbuffer</em> is not a GL renderbuffer object or if the width or height of <em>renderbuffer</em> is zero.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if <em>renderbuffer</em> is not an OpenGL renderbuffer +object, or if the width or height of <em>renderbuffer</em> is zero.</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the OpenGL renderbuffer internal format does not map to a supported OpenCL image format.</p> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the internal format of +<em>renderbuffer</em> is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#opengl-image-formats-table" target="_blank" rel="noopener">OpenGL +Internal Formats and Corresponding OpenCL Internal Formats</a> table.</p> </li> <li> -<p><code>CL_INVALID_OPERATION</code> if <em>renderbuffer</em> is a multi-sample GL renderbuffer object.</p> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>renderbuffer</em> is a multi-sample OpenGL +renderbuffer object.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1388,11 +924,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="clCreateBuffer.html">clCreateBuffer</a>, -<a href="cl_image_format.html">cl_image_format</a>, -<a href="clRetainMemObject.html">clRetainMemObject</a>, -<a href="clReleaseMemObject.html">clReleaseMemObject</a></p> +<p><a href="cl_GLuint.html">cl_GLuint</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -1400,10 +932,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromGLRenderbuffer" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLRenderbuffer" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLRenderbuffer</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1411,7 +944,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1421,8 +954,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateFromGLTexture.html b/sdk/3.0/docs/man/html/clCreateFromGLTexture.html index 78c7dba..d3ade77 100644 --- a/sdk/3.0/docs/man/html/clCreateFromGLTexture.html +++ b/sdk/3.0/docs/man/html/clCreateFromGLTexture.html
@@ -767,22 +767,40 @@ <h1>clCreateFromGLTexture(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clCreateFromGLTexture - Creates an OpenCL image object, image array object, or image buffer object from an OpenGL texture object, texture array object, texture buffer object, or a single face of an OpenGL cubemap texture object.</p> +<p>clCreateFromGLTexture - Create OpenCL image object from an OpenGL texture object</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_mem clCreateFromGLTexture(cl_context context, - cl_mem_flags flags, - GLenum texture_target, - GLint miplevel, - GLuint texture, - cl_int * errcode_ret)</code></pre> +<div class="paragraph"> +<p>To create an OpenCL image object from an OpenGL texture object, call the +function</p> </div> +<div id="clCreateFromGLTexture" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_mem clCreateFromGLTexture( + cl_context context, + cl_mem_flags flags, + cl_GLenum target, + cl_GLint miplevel, + cl_GLuint texture, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateFromGLTexture</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,643 +810,202 @@ <div class="ulist"> <ul> <li> -<p><em>context</em> - A valid OpenCL context created from an OpenGL context.</p> +<p><em>context</em> is a valid OpenCL context created from an OpenGL context.</p> </li> <li> -<p><em>flags</em> - A bit-field that is used to specify usage information. Refer -to the table for <a href="clCreateBuffer.html">clCreateBuffer</a> for a description of <em>flags</em>. Only -the values <code>CL_MEM_READ_ONLY</code>, <code>CL_MEM_WRITE_ONLY</code> and -<code>CL_MEM_READ_WRITE</code> can be used.</p> +<p><em>flags</em> is a bit-field that is used to specify usage information. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#memory-flags-table" target="_blank" rel="noopener">Memory Flags</a> table for a +description of <em>flags</em>. +Only the <code>CL_MEM_<wbr>READ_<wbr>ONLY</code>, <code>CL_MEM_<wbr>WRITE_<wbr>ONLY</code> and <code>CL_MEM_<wbr>READ_<wbr>WRITE</code> +flags specified in that table can be used.</p> </li> <li> -<p><em>texture_target</em> -</p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>This value must be one of <code>GL_TEXTURE_1D</code>, <code>GL_TEXTURE_1D_ARRAY</code>, +<p><em>texture_target</em> must be one of <code>GL_TEXTURE_1D</code>, <code>GL_TEXTURE_1D_ARRAY</code>, <code>GL_TEXTURE_BUFFER</code>, <code>GL_TEXTURE_2D</code>, <code>GL_TEXTURE_2D_ARRAY</code>, <code>GL_TEXTURE_3D</code>, <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>, <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>, <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>, <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>, <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, -<code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>, or <code>GL_TEXTURE_RECTANGLE</code>. -(<code>GL_TEXTURE_RECTANGLE</code> requires OpenGL 3.1. Alternatively, -<code>GL_TEXTURE_RECTANGLE_ARB</code> may be specified if the OpenGL extension -<code>GL_ARB_texture_rectangle</code> is supported.) <em>texture_target</em> is used only to -define the image type of <em>texture</em>. No reference to a bound GL texture -object is made or implied by this parameter.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_msaa_sharing.html">cl_khr_gl_msaa_sharing</a> extension is enabled, <em>texture_target</em> -may be <code>GL_TEXTURE_2D_MULTISAMPLE</code> or <code>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>.</p> -</div> -<div class="paragraph"> -<p>If <em>texture_target</em> is <code>GL_TEXTURE_2D_MULTISAMPLE</code>, <code>clCreateFromGLTexture</code> -creates an OpenCL 2D multi-sample image object from an OpenGL 2D -multi-sample texture</p> -</div> -<div class="paragraph"> -<p>If <em>texture_target</em> is <code>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>, -<code>clCreateFromGLTexture</code> creates an OpenCL 2D multi-sample array image object -from an OpenGL 2D multi-sample texture.</p> -</div> -</div> -</div> +<code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>. +<code>GL_TEXTURE_RECTANGLE</code> or the equivalent <code>GL_TEXTURE_RECTANGLE_ARB</code> may +be specified if an OpenGL implementation supporting rectangular textures +is supported. +<code>GL_TEXTURE_2D_MULTISAMPLE</code> and <code>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code> may be +specified if an OpenGL implementation supporting multi-sample +two-dimensional textures is supported, and the +<code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension is supported. +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#restrictions-on-msaa-images" target="_blank" rel="noopener">Restrictions on Multi-Sample +Images</a> section for more information on multi-sample images. +<em>texture_target</em> is used only to define the image type of <em>texture</em>. +No reference to a bound OpenGL texture object is made or implied by this +parameter.</p> </li> <li> -<p><em>miplevel</em> - The mipmap level to be used. If <em>texture_target</em> is -<code>GL_TEXTURE_BUFFER</code>, miplevel must be 0. Implementations may return -<code>CL_INVALID_OPERATION</code> for miplevel values > 0</p> +<p><em>miplevel</em> is the mipmap level to be used. +If <em>texture_target</em> is <code>GL_TEXTURE_BUFFER</code>, <em>miplevel</em> must be 0. +Note: Implementations may return <code>CL_INVALID_<wbr>OPERATION</code> for miplevel +values > 0.</p> </li> <li> -<p><em>texture</em> - The name of a GL 1D, 2D, 3D, 1D array, 2D array, cubemap, -rectangle or buffer texture object. The texture object must be a -complete texture as per OpenGL rules on texture completeness. The -<em>texture</em> format and dimensions defined by OpenGL for the specified +<p><em>texture</em> is the name of an OpenGL 1D, 2D, 3D, 1D array, 2D array, +cubemap, rectangle or buffer texture object. +The texture object must be a complete texture as per OpenGL rules on +texture completeness. +The <em>texture</em> format and dimensions defined by OpenGL for the specified <em>miplevel</em> of the texture will be used to create the OpenCL image memory -object. Only GL texture objects with an internal format that maps to -appropriate image channel order and data type specified in tables 5.5 -and 5.6 (see <a href="cl_image_format.html">cl_image_format</a>) may be used to create the OpenCL -image memory object.</p> +object. +Only OpenGL texture objects with an internal format that maps to an +appropriate <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-order-table" target="_blank" rel="noopener">Image Channel Order</a> and +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-data-types-table" target="_blank" rel="noopener">Image Channel Data Type</a> may be used +to create the OpenCL image memory object.</p> </li> <li> -<p><em>errcode_ret</em> - Returns an appropriate error code as described below. If -<em>errcode_ret</em> is NULL, no error code is returned.</p> +<p><em>errcode_ret</em> will return an appropriate error code as described below. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>If the state of a GL texture object is modified through the GL API (e.g. -<code>glTexImage2D</code>, <code>glTexImage3D</code> or the values of the texture parameters <code>GL_TEXTURE_BASE_LEVEL</code> or <code>GL_TEXTURE_MAX_LEVEL</code> are modified) while there exists a corresponding CL image object, subsequent use of the CL image object will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>The <a href="clRetainMemObject.html">clRetainMemObject</a> and -<a href="clReleaseMemObject.html">clReleaseMemObject</a> functions can be used to retain and release the image objects.</p> -</div> -<div class="paragraph"> -<p>General information about GL sharing follows.</p> -</div> -<div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> -</div> -<div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is -successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> -</div> -<div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns a valid non-zero OpenCL image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created successfully. -Otherwise, it returns a NULL value with one of the following error values returned in <em>errcode_ret</em>:</p> +<p><strong>clCreateFromGLTexture</strong> may create any of the following:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid context or was not created from a GL context.</p> +<p>an OpenCL 2D image object from an OpenGL 2D texture object or a single +face of an OpenGL cubemap texture object,</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if values specified in <em>flags</em> are not valid or if value specified in <em>texture_target</em> is not one of the values specified in the description of <em>texture_target</em>.</p> +<p>an OpenCL 2D image array object from an OpenGL 2D texture array object,</p> </li> <li> -<p><code>CL_INVALID_MIP_LEVEL</code> if <em>miplevel</em> is less than the value of <em>level<sub>base</sub></em> (for OpenGL implementations) or zero (for OpenGL ES implementations); or greater than the value of <em>q</em> (for both OpenGL and OpenGL ES). -<em>level<sub>base</sub></em> and <em>q</em> are defined for the texture in section 3.8.10 (Texture Completeness) of the OpenGL 2.1 specification and section 3.7.10 of the OpenGL ES 2.0.</p> +<p>an OpenCL 2D multi-sample image object from an OpenGL 2D multi-sample +texture.</p> </li> <li> -<p><code>CL_INVALID_MIP_LEVEL</code> if <em>miplevel</em> is greater than zero and the OpenGL implementation does not support creating from non-zero mipmap levels.</p> +<p>an OpenCL 2D multi-sample array image object from an OpenGL 2D +multi-sample texture.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if <em>texture</em> is not a GL texture object whose type matches <em>texture_target</em>, if the specified <em>miplevel</em> of <em>texture</em> is not defined, or if the width or height of the specified <em>miplevel</em> is zero or if the GL texture object is incomplete.</p> +<p>an OpenCL 1D image object from an OpenGL 1D texture object,</p> </li> <li> -<p><code>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</code> if the OpenGL texture internal format does not map to a supported OpenCL image format.</p> +<p>an OpenCL 1D image buffer object from an OpenGL texture buffer object,</p> </li> <li> -<p><code>CL_INVALID_OPERATION</code> if <em>texture</em> is a GL texture object created with a border width value greater than zero.</p> +<p>an OpenCL 1D image array object from an OpenGL 1D texture array object,</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p>an OpenCL 3D image object from an OpenGL 3D texture object.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>If both the <code>cl_khr_<wbr>mipmap_<wbr>image</code> and <code>cl_khr_<wbr>gl_<wbr>sharing</code> extensions +are supported by the OpenCL device, <strong>clCreateFromGLTexture</strong> may also be used +to create a mipmapped OpenCL image from a mipmapped OpenGL texture by +specify a negative value for <em>miplevel</em>. +In this case, then an OpenCL mipmapped image object is created from a +mipmapped OpenGL texture object, instead of an OpenCL image object for a +specific miplevel of the OpenGL texture.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +For a detailed description of how the level of detail is computed, +please refer to the “Scale Factor and Level-of-Detail” section of the +OpenGL 4.6 Specification. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>If the state of an OpenGL texture object is modified through the OpenGL API +(e.g. <code>glTexImage2D</code>, <code>glTexImage3D</code> or the values of the texture parameters +<code>GL_TEXTURE_BASE_LEVEL</code> or <code>GL_TEXTURE_MAX_LEVEL</code> are modified) while there +exists a corresponding OpenCL image object, subsequent use of the OpenCL +image object will result in undefined behavior.</p> +</div> +<div class="paragraph"> +<p>The <strong>clRetainMemObject</strong> and <strong>clReleaseMemObject</strong> functions can be used to +retain and release the image objects.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-opengl-memory-objects" target="_blank" rel="noopener">Lifetime of Shared OpenCL/OpenGL Memory Objects</a> and +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> sections for +more information. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clCreateFromGLTexture</strong> returns a valid non-zero OpenCL image object and +<em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object is created +successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context or was not +created from an OpenGL context.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if values specified in <em>flags</em> are not valid or if +value specified in <em>texture_target</em> is not one of the values specified +in the description of <em>texture_target</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if <em>miplevel</em> is less than the value of +<em>level<sub>base</sub></em> (for OpenGL implementations) or zero (for OpenGL ES +implementations); or greater than the value of <em>q</em> (for both OpenGL and +OpenGL ES). +<em>level<sub>base</sub></em> and <em>q</em> are defined for the texture in <em>section 3.8.10</em> +(Texture Completeness) of the OpenGL 2.1 Specification and <em>section +3.7.10</em> of the OpenGL ES 2.0 Specification.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if <em>miplevel</em> is greather than zero and the +OpenGL implementation does not support creating from non-zero mipmap +levels.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if <em>texture</em> is not an OpenGL texture object +whose type matches <em>texture_target</em>, if the specified <em>miplevel</em> of +<em>texture</em> is not defined, or if the width or height of the specified +<em>miplevel</em> is zero or if the OpenGL texture object is incomplete.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>FORMAT_<wbr>DESCRIPTOR</code> if the internal format of <em>texture</em> +is not listed in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#opengl-image-formats-table" target="_blank" rel="noopener">OpenGL +Internal Formats and Corresponding OpenCL Internal Formats</a> table.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>texture</em> is an OpenGL texture object created +with a border width value greater than zero.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1438,9 +1015,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="clCreateBuffer.html">clCreateBuffer</a>, -<a href="clCreateFromGLBuffer.html">clCreateFromGLBuffer</a></p> +<p><a href="cl_GLenum.html">cl_GLenum</a>, <a href="cl_GLint.html">cl_GLint</a>, <a href="cl_GLuint.html">cl_GLuint</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem_flags.html">cl_mem_flags</a></p> </div> </div> </div> @@ -1448,10 +1023,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateFromGLTexture" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLTexture" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clCreateFromGLTexture</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1459,7 +1035,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1469,8 +1045,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateImage.html b/sdk/3.0/docs/man/html/clCreateImage.html index a2276ef..9d47de8 100644 --- a/sdk/3.0/docs/man/html/clCreateImage.html +++ b/sdk/3.0/docs/man/html/clCreateImage.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_mem clCreateImage( cl_context context, cl_mem_flags flags, const cl_image_format* image_format, @@ -805,7 +806,8 @@ </div> <div id="clCreateImageWithProperties" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateImageWithProperties( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_3_0 +cl_mem clCreateImageWithProperties( cl_context context, const cl_mem_properties* properties, cl_mem_flags flags, @@ -841,7 +843,9 @@ <p><em>properties</em> is an optional list of properties for the image object and their corresponding values. The list is terminated with the special property <code>0</code>. If no properties are required, <em>properties</em> may be <code>NULL</code>. -OpenCL 3.0 does not define any optional properties for images.</p> +OpenCL 3.0 does not define any optional properties for images, +but extensions may define properties as described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-image-memory-properties-table" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-image-memory-properties-table</a>.</p> </li> <li> <p><em>flags</em> is a bit-field that is used to specify allocation and usage @@ -907,6 +911,40 @@ <em>mem_object</em>.</p> </div> <div class="paragraph"> +<p><strong>Mipmap Images</strong></p> +</div> +<div class="paragraph"> +<p>A mipmapped 1D image, 1D image array, 2D image, 2D image array or 3D image +is created by specifying <em>num_mip_levels</em> to be a value greater than one in +<em>image_desc</em>. +The dimensions of a mipmapped image can be a power of two or a non-power of +two. +Each successively smaller mipmap level is half the size of the previous +level, rounded down to the nearest integer.</p> +</div> +<div class="paragraph"> +<p>The following restrictions apply when mipmapped images are created with +<strong>clCreateImage</strong>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MEM_<wbr>USE_<wbr>HOST_<wbr>PTR</code> or <code>CL_MEM_<wbr>COPY_<wbr>HOST_<wbr>PTR</code> cannot be specified if a +mipmapped image is created.</p> +</li> +<li> +<p>The <em>host_ptr</em> argument to <strong>clCreateImage</strong> must be a <code>NULL</code> value.</p> +</li> +<li> +<p>Mip-mapped images cannot be created for <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE1D_<wbr>BUFFER</code> +images, depth images or multi-sampled (i.e. msaa) images.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><strong>Image Data in Host Memory</strong></p> +</div> +<div class="paragraph"> <p>For a 3D image or 2D image array, the image data specified by <em>host_ptr</em> is stored as a linear sequence of adjacent 2D image slices or 2D images respectively. @@ -932,6 +970,51 @@ <p>Image elements are stored according to their image format as described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-format-descriptor" target="_blank" rel="noopener">Image Format Descriptor</a> section.</p> </div> +<table id="external-image-memory-properties-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. List of supported image creation properties</caption> +<colgroup> +<col style="width: 33%;"> +<col style="width: 17%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Property</th> +<th class="tableblock halign-left valign-top">Property Value</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the list of OpenCL devices (terminated with + <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>END_<wbr>KHR</code>) to associate with the external + memory handle.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>If <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not specified as part of <em>properties</em>, +the memory object created by <strong>clCreateBufferWithProperties</strong> or +<strong>clCreateImageWithProperties</strong> is by default accessible to all devices in the +<em>context</em>.</p> +</div> +<div class="paragraph"> +<p>The properties used to create an image from an external memory handle are +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#external-memory-handle-types" target="_blank" rel="noopener">described for the corresponding +extensions</a>. +When an image is created from an external memory handle, the +<em>flags</em> used to specify usage information for the image must not +include <code>CL_MEM_<wbr>USE_<wbr>HOST_<wbr>PTR</code>, <code>CL_MEM_<wbr>ALLOC_<wbr>HOST_<wbr>PTR</code>, or +<code>CL_MEM_<wbr>COPY_<wbr>HOST_<wbr>PTR</code>, and the <em>host_ptr</em> argument must be <code>NULL</code>. +When images are created from an external memory handle, implementations may +acquire information about image attributes such as format and layout at the +time of creation. +When such information is acquired at image creation time, it is used for the +lifetime of the image object.</p> +</div> <div class="paragraph"> <p><strong>clCreateImage</strong> and <strong>clCreateImageWithProperties</strong> returns a valid non-zero image object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the image object @@ -1020,10 +1103,64 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>DEVICE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if a device identified by the property <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> +is not a valid device or is not associated with <em>context</em>, or</p> +</li> +<li> +<p>if a device identified by property <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> +cannot import the requested external memory object type, or</p> +</li> +<li> +<p>if <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not specified as part of +<em>properties</em> and one or more devices in <em>context</em> cannot import the +requested external memory object type.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> includes a supported external memory handle and <em>flags</em> +includes <code>CL_MEM_<wbr>USE_<wbr>HOST_<wbr>PTR</code>, <code>CL_MEM_<wbr>ALLOC_<wbr>HOST_<wbr>PTR</code>, or +<code>CL_MEM_<wbr>COPY_<wbr>HOST_<wbr>PTR</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>HOST_<wbr>PTR</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> includes a supported external memory handle and +<em>host_ptr</em> is not <code>NULL</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>properties</em> does not include a supported external memory handle and +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is specified as part of <em>properties</em>.</p> +</li> +</ul> +</div> +</li> </ul> </div> <table id="host-ptr-buffer-size-table" class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 1. Required <em>host_ptr</em> buffer sizes for images</caption> +<caption class="title">Table 2. Required <em>host_ptr</em> buffer sizes for images</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> @@ -1091,7 +1228,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1101,8 +1238,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateImage2D.html b/sdk/3.0/docs/man/html/clCreateImage2D.html index 74e93a2..08c041f 100644 --- a/sdk/3.0/docs/man/html/clCreateImage2D.html +++ b/sdk/3.0/docs/man/html/clCreateImage2D.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateImage2D" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateImage2D( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_mem clCreateImage2D( cl_context context, cl_mem_flags flags, const cl_image_format* image_format, @@ -943,7 +944,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -953,8 +954,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateImage3D.html b/sdk/3.0/docs/man/html/clCreateImage3D.html index 753aeff..162765c 100644 --- a/sdk/3.0/docs/man/html/clCreateImage3D.html +++ b/sdk/3.0/docs/man/html/clCreateImage3D.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateImage3D" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateImage3D( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_mem clCreateImage3D( cl_context context, cl_mem_flags flags, const cl_image_format* image_format, @@ -960,7 +961,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -970,8 +971,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateKernel.html b/sdk/3.0/docs/man/html/clCreateKernel.html index a07290e..f6dc53c 100644 --- a/sdk/3.0/docs/man/html/clCreateKernel.html +++ b/sdk/3.0/docs/man/html/clCreateKernel.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_kernel clCreateKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_kernel clCreateKernel( cl_program program, const char* kernel_name, cl_int* errcode_ret);</code></pre> @@ -873,7 +874,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -883,8 +884,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateKernelsInProgram.html b/sdk/3.0/docs/man/html/clCreateKernelsInProgram.html index a117af7..e06b7ab 100644 --- a/sdk/3.0/docs/man/html/clCreateKernelsInProgram.html +++ b/sdk/3.0/docs/man/html/clCreateKernelsInProgram.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateKernelsInProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clCreateKernelsInProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clCreateKernelsInProgram( cl_program program, cl_uint num_kernels, cl_kernel* kernels, @@ -896,7 +897,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -906,8 +907,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreatePipe.html b/sdk/3.0/docs/man/html/clCreatePipe.html index 48834bf..0c82a48 100644 --- a/sdk/3.0/docs/man/html/clCreatePipe.html +++ b/sdk/3.0/docs/man/html/clCreatePipe.html
@@ -779,7 +779,8 @@ </div> <div id="clCreatePipe" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreatePipe( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_mem clCreatePipe( cl_context context, cl_mem_flags flags, cl_uint pipe_packet_size, @@ -920,7 +921,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -930,8 +931,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateProgramWithBinary.html b/sdk/3.0/docs/man/html/clCreateProgramWithBinary.html index f088b1d..3d586d0 100644 --- a/sdk/3.0/docs/man/html/clCreateProgramWithBinary.html +++ b/sdk/3.0/docs/man/html/clCreateProgramWithBinary.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateProgramWithBinary" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_program clCreateProgramWithBinary( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_program clCreateProgramWithBinary( cl_context context, cl_uint num_devices, const cl_device_id* device_list, @@ -820,6 +821,21 @@ corresponding binary is given by <em>lengths</em>[i]. <em>lengths</em>[i] cannot be zero and <em>binaries</em>[i] cannot be a <code>NULL</code> pointer.</p> </li> +<li> +<p><em>binary_status</em> returns whether the program binary for each device specified +in <em>device_list</em> was loaded successfully or not. +It is an array of <em>num_devices</em> entries and returns <code>CL_SUCCESS</code> in +<em>binary_status</em>[i] if binary was successfully loaded for device specified by +<em>device_list</em>[i]; otherwise returns <code>CL_INVALID_<wbr>VALUE</code> if <em>lengths</em>[i] is zero +or if <em>binaries</em>[i] is a <code>NULL</code> value or <code>CL_INVALID_<wbr>BINARY</code> in +<em>binary_status</em>[i] if program binary is not a valid binary for the specified +device. +If <em>binary_status</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> +</li> </ul> </div> </div> @@ -864,21 +880,6 @@ <p>Implementation-specific intermediate representation (IR) which will be converted to the device-specific code.</p> </li> -<li> -<p><em>binary_status</em> returns whether the program binary for each device specified -in <em>device_list</em> was loaded successfully or not. -It is an array of <em>num_devices</em> entries and returns <code>CL_SUCCESS</code> in -<em>binary_status</em>[i] if binary was successfully loaded for device specified by -<em>device_list</em>[i]; otherwise returns <code>CL_INVALID_<wbr>VALUE</code> if <em>lengths</em>[i] is zero -or if <em>binaries</em>[i] is a <code>NULL</code> value or <code>CL_INVALID_<wbr>BINARY</code> in -<em>binary_status</em>[i] if program binary is not a valid binary for the specified -device. -If <em>binary_status</em> is <code>NULL</code>, it is ignored.</p> -</li> -<li> -<p><em>errcode_ret</em> will return an appropriate error code. -If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> -</li> </ul> </div> <div class="paragraph"> @@ -892,6 +893,13 @@ help significantly reduce the application initialization time.</p> </div> <div class="paragraph"> +<p>If the <code>cl_khr_<wbr>spir</code> extension is supported, <strong>clCreateProgramWithBinary</strong> +can be used to load a SPIR binary. +Once a program object has been created from a SPIR binary, <strong>clBuildProgram</strong> +can be called to build a program executable or <strong>clCompileProgram</strong> can be +called to compile the SPIR binary.</p> +</div> +<div class="paragraph"> <p><strong>clCreateProgramWithBinary</strong> returns a valid non-zero program object and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the program object is created successfully. @@ -955,7 +963,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -965,8 +973,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateProgramWithBuiltInKernels.html b/sdk/3.0/docs/man/html/clCreateProgramWithBuiltInKernels.html index 38b6c72..a52467e 100644 --- a/sdk/3.0/docs/man/html/clCreateProgramWithBuiltInKernels.html +++ b/sdk/3.0/docs/man/html/clCreateProgramWithBuiltInKernels.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateProgramWithBuiltInKernels" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_program clCreateProgramWithBuiltInKernels( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_program clCreateProgramWithBuiltInKernels( cl_context context, cl_uint num_devices, const cl_device_id* device_list, @@ -894,7 +895,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -904,8 +905,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateProgramWithIL.html b/sdk/3.0/docs/man/html/clCreateProgramWithIL.html index 7f651df..5750235 100644 --- a/sdk/3.0/docs/man/html/clCreateProgramWithIL.html +++ b/sdk/3.0/docs/man/html/clCreateProgramWithIL.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateProgramWithIL" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_program clCreateProgramWithIL( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_program clCreateProgramWithIL( cl_context context, const void* il, size_t length, @@ -795,7 +796,31 @@ </td> <td class="content"> <strong>clCreateProgramWithIL</strong> is <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_il_program</strong>. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>or the equivalent</p> +</div> +<div id="clCreateProgramWithILKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_il_program +cl_program clCreateProgramWithILKHR( + cl_context context, + const void* il, + size_t length, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateProgramWithILKHR</strong> is provided by the <code>cl_khr_il_program</code> extension. </td> </tr> </table> @@ -811,10 +836,13 @@ <p><em>context</em> must be a valid OpenCL context.</p> </li> <li> -<p><em>il</em> is a pointer to a <em>length</em>-byte block of memory containing SPIR-V or an +<p><em>il</em> is a pointer to a block of memory containing SPIR-V or an implementation-defined intermediate language.</p> </li> <li> +<p><em>length</em> is the length of the block pointed to by <em>il</em>.</p> +</li> +<li> <p><em>errcode_ret</em> will return an appropriate error code. If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> </li> @@ -851,9 +879,9 @@ <p><code>CL_INVALID_<wbr>VALUE</code> if <em>il</em> is <code>NULL</code> or if <em>length</em> is zero.</p> </li> <li> -<p><code>CL_INVALID_<wbr>VALUE</code> if the <em>length</em>-byte memory pointed to by <em>il</em> does not -contain well-formed intermediate language input that can be consumed by -the OpenCL runtime.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <em>length</em>-byte block of memory pointed to by +<em>il</em> does not contain well-formed intermediate language input that can +be consumed by the OpenCL runtime.</p> </li> <li> <p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources required @@ -871,7 +899,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="CL_VERSION_2_1.html">CL_VERSION_2_1</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a></p> +<p><a href="CL_VERSION_2_1.html">CL_VERSION_2_1</a>, <a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_il_program.html">cl_khr_il_program</a></p> </div> </div> </div> @@ -891,7 +919,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -901,8 +929,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateProgramWithSource.html b/sdk/3.0/docs/man/html/clCreateProgramWithSource.html index 3cb6e19..e8c6230 100644 --- a/sdk/3.0/docs/man/html/clCreateProgramWithSource.html +++ b/sdk/3.0/docs/man/html/clCreateProgramWithSource.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateProgramWithSource" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_program clCreateProgramWithSource( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_program clCreateProgramWithSource( cl_context context, cl_uint count, const char** strings, @@ -888,7 +889,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -898,8 +899,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateSampler.html b/sdk/3.0/docs/man/html/clCreateSampler.html index b50a9d5..66f8fea 100644 --- a/sdk/3.0/docs/man/html/clCreateSampler.html +++ b/sdk/3.0/docs/man/html/clCreateSampler.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateSampler" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_sampler clCreateSampler( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_sampler clCreateSampler( cl_context context, cl_bool normalized_coords, cl_addressing_mode addressing_mode, @@ -891,7 +892,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -901,8 +902,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateSamplerWithProperties.html b/sdk/3.0/docs/man/html/clCreateSamplerWithProperties.html index 79cd641..e58b6a4 100644 --- a/sdk/3.0/docs/man/html/clCreateSamplerWithProperties.html +++ b/sdk/3.0/docs/man/html/clCreateSamplerWithProperties.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateSamplerWithProperties" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_sampler clCreateSamplerWithProperties( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_sampler clCreateSamplerWithProperties( cl_context context, const cl_sampler_properties* sampler_properties, cl_int* errcode_ret);</code></pre> @@ -820,6 +821,10 @@ <em>sampler_properties</em> can be <code>NULL</code> in which case the default values for supported sampler properties will be used.</p> </li> +<li> +<p><em>errcode_ret</em> will return an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> +</li> </ul> </div> </div> @@ -882,15 +887,55 @@ four image elements nearest to the image coordinate.</p> <p class="tableblock"> The default value is <code>CL_FILTER_<wbr>NEAREST</code>.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SAMPLER_<wbr>MIP_<wbr>FILTER_<wbr>MODE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_mipmap_image</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_filter_<wbr>mode</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the mipmap filter used when sampling from a mipmapped + image. + The available filter are:</p> +<p class="tableblock"> <code>CL_FILTER_<wbr>NEAREST</code> - Use the nearest mipmap level to the image + coordinate.</p> +<p class="tableblock"> <code>CL_FILTER_<wbr>LINEAR</code> - Use a weighted average of the two mipmap levels + nearest to the image coordinate.</p> +<p class="tableblock"> The default is <code>CL_FILTER_<wbr>NEAREST</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SAMPLER_<wbr>LOD_<wbr>MIN_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_mipmap_image</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_float</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the minimum value to which the computed level of detail + <em>lambda</em> is clamped when sampling from a mipmapped image.</p> +<p class="tableblock"> The default is <code>0.0f</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SAMPLER_<wbr>LOD_<wbr>MAX_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_mipmap_image</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_float</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the maximum value to which the computed level of detail + <em>lambda</em> is clamped when sampling from a mipmapped image.</p> +<p class="tableblock"> The default is <code>MAXFLOAT</code>.</p></td> +</tr> </tbody> </table> -<div class="ulist"> -<ul> -<li> -<p><em>errcode_ret</em> will return an appropriate error code. -If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> -</li> -</ul> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +When the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is supported, the sampler +properties <code>CL_SAMPLER_<wbr>MIP_<wbr>FILTER_<wbr>MODE_<wbr>KHR</code>, <code>CL_SAMPLER_<wbr>LOD_<wbr>MIN_<wbr>KHR</code> and +<code>CL_SAMPLER_<wbr>LOD_<wbr>MAX_<wbr>KHR</code> cannot be specified with any samplers initialized +in the OpenCL program source. +Only the default values for these properties will be used. +To create a sampler with specific values for these properties, a sampler +object must be created with <strong>clCreateSamplerWithProperties</strong> and passed as an +argument to a kernel. +</td> +</tr> +</table> </div> <div class="paragraph"> <p><strong>clCreateSamplerWithProperties</strong> returns a valid non-zero sampler object and @@ -951,7 +996,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -961,8 +1006,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateSemaphoreWithPropertiesKHR.html b/sdk/3.0/docs/man/html/clCreateSemaphoreWithPropertiesKHR.html new file mode 100644 index 0000000..c8f3c39 --- /dev/null +++ b/sdk/3.0/docs/man/html/clCreateSemaphoreWithPropertiesKHR.html
@@ -0,0 +1,992 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clCreateSemaphoreWithPropertiesKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clCreateSemaphoreWithPropertiesKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clCreateSemaphoreWithPropertiesKHR - Create a semaphore object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To create a <strong>semaphore object</strong>, call the function</p> +</div> +<div id="clCreateSemaphoreWithPropertiesKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_semaphore_khr clCreateSemaphoreWithPropertiesKHR( + cl_context context, + const cl_semaphore_properties_khr* sema_props, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clCreateSemaphoreWithPropertiesKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>context</em> identifies a valid OpenCL context that the created +<code>cl_semaphore_<wbr>khr</code> will belong to.</p> +</li> +<li> +<p><em>sema_props</em> specifies additional semaphore properties in the form list +of <property_name, property_value> pairs terminated with 0. +<code>CL_SEMAPHORE_<wbr>TYPE_<wbr>KHR</code> must be part of the list of properties specified +by <em>sema_props</em>.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Following new properties are added to the list of possible supported +properties by <code>cl_semaphore_<wbr>properties_<wbr>khr</code> that can be passed to +<strong>clCreateSemaphoreWithPropertiesKHR</strong>:</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. List of supported semaphore creation properties by <strong>clCreateSemaphoreWithPropertiesKHR</strong></caption> +<colgroup> +<col style="width: 33%;"> +<col style="width: 17%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Semaphore Property</th> +<th class="tableblock halign-left valign-top">Property Value</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>TYPE_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>type_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of semaphore to create. + This property is always required.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the list of OpenCL devices (terminated with + <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>END_<wbr>KHR</code>) to associate with the + semaphore. + Only a single device is permitted in the list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the list of semaphore handle type properties (terminated + with <code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>LIST_<wbr>END_<wbr>KHR</code>) that can be + used to export the semaphore being created.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>If <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not specified as part of +<em>sema_props</em>, the semaphore object created by +<strong>clCreateSemaphoreWithPropertiesKHR</strong> is by default accessible to all devices +in the <em>context</em>. +For a multi-device context <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> must be +specified in <em>sema_props</em>.</p> +</div> +<div class="paragraph"> +<p><em>errcode_ret</em> returns an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> +</div> +<div class="paragraph"> +<p><strong>clCreateSemaphoreWithPropertiesKHR</strong> returns a valid semaphore object in an +un-signaled state and and <em>errcode_ret</em> is set to <code>CL_SUCCESS</code> if the +function is executed successfully. +Otherwise, it returns a <code>NULL</code> value with one of the following error values +returned in <em>errcode_ret</em>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid context.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROPERTY</code> if a property name in <em>sema_props</em> is not a +supported property name, if the value specified for a supported property +name is not valid, or if the same property name is specified more than +once. +Additionally, if <em>context</em> is a multiple device context and <em>sema_props</em> +does not specify <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>DEVICE</code> if <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is +specified as part of <em>sema_props</em>, but it does not identify exactly one +valid device; or if a device identified by +<code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> is not one of the devices within +<em>context</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>sema_props</em> is <code>NULL</code>, or</p> +</li> +<li> +<p>if <em>sema_props</em> do not specify <property, value> pairs for minimum set +of properties (i.e. <code>CL_SEMAPHORE_<wbr>TYPE_<wbr>KHR</code>) required for successful +creation of a <code>cl_semaphore_<wbr>khr</code>, or</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>DEVICE</code> if one or more devices identified by properties +<code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> cannot import the requested +external semaphore handle type.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if more than one semaphore handle type is specified +in the <code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> list.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> If <em>props_list</em> specifies a +<code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code> followed by a handle as +well as <code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code>. Exporting a semaphore +handle from a semaphore that was created by importing an external +semaphore handle is not permitted.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_properties_khr.html">cl_semaphore_properties_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clCreateSemaphoreWithPropertiesKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clCreateSubBuffer.html b/sdk/3.0/docs/man/html/clCreateSubBuffer.html index ece9b9d..2fa66a8 100644 --- a/sdk/3.0/docs/man/html/clCreateSubBuffer.html +++ b/sdk/3.0/docs/man/html/clCreateSubBuffer.html
@@ -780,7 +780,8 @@ </div> <div id="clCreateSubBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_mem clCreateSubBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_mem clCreateSubBuffer( cl_mem buffer, cl_mem_flags flags, cl_buffer_create_type buffer_create_type, @@ -976,7 +977,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -986,8 +987,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateSubDevices.html b/sdk/3.0/docs/man/html/clCreateSubDevices.html index e89e209..f4c81c5 100644 --- a/sdk/3.0/docs/man/html/clCreateSubDevices.html +++ b/sdk/3.0/docs/man/html/clCreateSubDevices.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateSubDevices" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clCreateSubDevices( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clCreateSubDevices( cl_device_id in_device, const cl_device_partition_property* properties, cl_uint num_devices, @@ -1033,7 +1034,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1043,8 +1044,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clCreateUserEvent.html b/sdk/3.0/docs/man/html/clCreateUserEvent.html index 07a6de2..f895844 100644 --- a/sdk/3.0/docs/man/html/clCreateUserEvent.html +++ b/sdk/3.0/docs/man/html/clCreateUserEvent.html
@@ -779,7 +779,8 @@ </div> <div id="clCreateUserEvent" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_event clCreateUserEvent( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_event clCreateUserEvent( cl_context context, cl_int* errcode_ret);</code></pre> </div> @@ -871,7 +872,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -881,8 +882,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireD3D10ObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueAcquireD3D10ObjectsKHR.html index 4a5ae03..b5e4eae 100644 --- a/sdk/3.0/docs/man/html/clEnqueueAcquireD3D10ObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireD3D10ObjectsKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueAcquireD3D10ObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueAcquireD3D10ObjectsKHR - Acquire OpenCL memory objects that have been created from Direct3D 10 resources</p> +<p>clEnqueueAcquireD3D10ObjectsKHR - Acquire OpenCL memory objects created from Direct3D 10 resources</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueAcquireD3D10ObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To acquire OpenCL memory objects that have been created from Direct3D 10 +resources, call the function</p> </div> +<div id="clEnqueueAcquireD3D10ObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_int clEnqueueAcquireD3D10ObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireD3D10ObjectsKHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,140 +810,112 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> +<p><em>command_queue</em> is a valid command-queue.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from Direct3D 10 resources.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this particular -command and can be used to query or queue a wait for this particular -command to complete. <em>event</em> can be NULL, in which case it will not be -possible for the application to query the status of this command or -queue a wait for this command to complete. If <em>event_wait_list</em> and -<em>event</em> are not NULL, <em>event</em> should not refer to an element of the -<em>event_wait_list</em> array.</p> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The Direct3D 10 objects are acquired by the OpenCL context associated with <code>command-queue</code> and can therefore be used by all command-queues associated with the OpenCL context.</p> +<p>The Direct3D 10 objects are acquired by the OpenCL context associated with +<em>command_queue</em> and can therefore be used by all command-queues associated +with the OpenCL context.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from Direct3D 10 resources must be acquired before they can be used by any OpenCL commands queued to a command-queue. -If an OpenCL memory object created from a Direct3D 10 resource is used while it is not currently acquired by OpenCL, the call attempting to use that OpenCL memory object will return <code>CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR</code>.</p> +<p>OpenCL memory objects created from Direct3D 10 resources must be acquired +before they can be used by any OpenCL commands queued to a command-queue. +If an OpenCL memory object created from a Direct3D 10 resource is used while +it is not currently acquired by OpenCL, the behavior is undefined. +Implementations may fail the execution of commands attempting to use that +OpenCL memory object and set their associated event’s execution status to +<code>CL_D3D10_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code>.</p> </div> <div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueAcquireD3D10ObjectsKHR</code> provides the synchronization guarantee that any Direct3D 10 calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireD3D10ObjectsKHR</code> is called will complete executing before <em>event</em> reports completion and before the execution of any subsequent OpenCL work issued in <em>command_queue</em> begins. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any Direct3D 10 calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireD3D10ObjectsKHR</code> is called have completed before calling <code>clEnqueueAcquireD3D10ObjectsKHR</code>.</p> +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueAcquireD3D10ObjectsKHR</strong> provides the +synchronization guarantee that any Direct3D 10 calls involving the interop +device(s) used in the OpenCL context made before +<strong>clEnqueueAcquireD3D10ObjectsKHR</strong> is called will complete executing before +<em>event</em> reports completion and before the execution of any subsequent OpenCL +work issued in <em>command_queue</em> begins. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any Direct3D 10 calls involving the interop device(s) used +in the OpenCL context made before <strong>clEnqueueAcquireD3D10ObjectsKHR</strong> is +called have completed before calling <strong>clEnqueueAcquireD3D10ObjectsKHR</strong>.</p> </div> <div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL then the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueAcquireD3D10ObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> then the function does +nothing and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from Direct3D 10 resources.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from Direct3D 10 resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from an Direct3D 10 context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from an Direct3D 10 context.</p> </li> <li> -<p><code>CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR</code> when any of <em>mem_objects</em> are currently acquired using <code>clEnqueueAcquireD3D10ObjectsKHR</code> but have not been released using <a href="clEnqueueReleaseD3D10ObjectsKHR.html">clEnqueueReleaseD3D10ObjectsKHR</a>.</p> +<p><code>CL_D3D10_<wbr>RESOURCE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in +<em>mem_objects</em> have previously been acquired using +<strong>clEnqueueAcquireD3D10ObjectsKHR</strong> but have not been released using +<strong>clEnqueueReleaseD3D10ObjectsKHR</strong>.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -935,7 +925,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -943,10 +933,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireD3D10ObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireD3D10ObjectsKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireD3D10ObjectsKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -954,7 +945,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -964,8 +955,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireD3D11ObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueAcquireD3D11ObjectsKHR.html index 861f4e3..4e70c5f 100644 --- a/sdk/3.0/docs/man/html/clEnqueueAcquireD3D11ObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireD3D11ObjectsKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueAcquireD3D11ObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueAcquireD3D11ObjectsKHR - Acquire OpenCL memory objects that have been created from Direct3D 11 resources</p> +<p>clEnqueueAcquireD3D11ObjectsKHR - Acquire OpenCL memory objects created from Direct3D 11 resources</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueAcquireD3D11ObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To acquire OpenCL memory objects that have been created from Direct3D 11 +resources, call the function</p> </div> +<div id="clEnqueueAcquireD3D11ObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_int clEnqueueAcquireD3D11ObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireD3D11ObjectsKHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,146 +810,112 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> +<p><em>command_queue</em> is a valid command-queue.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from Direct3D 11 resources.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this particular -command and can be used to query or queue a wait for this particular -command to complete. <em>event</em> can be NULL in which case it will not be -possible for the application to query the status of this command or -queue a wait for this command to complete. If <em>event_wait_list</em> and -<em>event</em> are not NULL, <em>event</em> should not refer to an element of the -<em>event_wait_list</em> array.</p> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The Direct3D 11 objects are acquired by the OpenCL context associated with <code>command-queue</code> and can therefore be used by all command-queues associated with the OpenCL context.</p> +<p>The Direct3D 11 objects are acquired by the OpenCL context associated with +<em>command_queue</em> and can therefore be used by all command-queues associated +with the OpenCL context.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from Direct3D 11 resources must be acquired before they can be used by any OpenCL commands queued to a command-queue. -If an OpenCL memory object created from a Direct3D 11 resource is used while it is not currently acquired by OpenCL, the call attempting to use that OpenCL memory object will return <code>CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR</code>.</p> +<p>OpenCL memory objects created from Direct3D 11 resources must be acquired +before they can be used by any OpenCL commands queued to a command-queue. +If an OpenCL memory object created from a Direct3D 11 resource is used while +it is not currently acquired by OpenCL, the behavior is undefined. +Implementations may fail the execution of commands attempting to use that +OpenCL memory object and set their associated event’s execution status to +<code>CL_D3D11_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code>.</p> </div> <div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueAcquireD3D11ObjectsKHR</code> provides the synchronization guarantee that any Direct3D 11 calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireD3D11ObjectsKHR</code> is called will complete executing before <em>event</em> reports completion and before the execution of any subsequent OpenCL work issued in <em>command_queue</em> begins. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any Direct3D 11 calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireD3D11ObjectsKHR</code> is called have completed before calling <code>clEnqueueAcquireD3D11ObjectsKHR</code>.</p> +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueAcquireD3D11ObjectsKHR</strong> provides the +synchronization guarantee that any Direct3D 11 calls involving the interop +device(s) used in the OpenCL context made before +<strong>clEnqueueAcquireD3D11ObjectsKHR</strong> is called will complete executing before +<em>event</em> reports completion and before the execution of any subsequent OpenCL +work issued in <em>command_queue</em> begins. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any Direct3D 11 calls involving the interop device(s) used +in the OpenCL context made before <strong>clEnqueueAcquireD3D11ObjectsKHR</strong> is +called have completed before calling <strong>clEnqueueAcquireD3D11ObjectsKHR</strong>.</p> </div> <div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -<div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL then the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueAcquireD3D11ObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> then the function does +nothing and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from Direct3D 11 resources.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from Direct3D 11 resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from a Direct3D 11 context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from an Direct3D 11 context.</p> </li> <li> -<p><code>CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR</code> if memory objects in <em>mem_objects</em> have previously been acquired using <code>clEnqueueAcquireD3D11ObjectsKHR</code> but have not been released using <a href="clEnqueueReleaseD3D11ObjectsKHR.html">clEnqueueReleaseD3D11ObjectsKHR</a>.</p> +<p><code>CL_D3D11_<wbr>RESOURCE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in +<em>mem_objects</em> have previously been acquired using +<strong>clEnqueueAcquireD3D11ObjectsKHR</strong> but have not been released using +<strong>clEnqueueReleaseD3D11ObjectsKHR</strong>.</p> </li> <li> -<p><code>CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR</code> when any of <em>mem_objects</em> are currently acquired by OpenCL.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> -</li> -<li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -941,7 +925,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -949,10 +933,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireD3D11ObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireD3D11ObjectsKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireD3D11ObjectsKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -960,7 +945,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -970,8 +955,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireDX9MediaSurfacesKHR.html b/sdk/3.0/docs/man/html/clEnqueueAcquireDX9MediaSurfacesKHR.html index ed69b47..791f457 100644 --- a/sdk/3.0/docs/man/html/clEnqueueAcquireDX9MediaSurfacesKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireDX9MediaSurfacesKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueAcquireDX9MediaSurfacesKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueAcquireDX9MediaSurfacesKHR - Acquire OpenCL memory objects that have been created from a media surface.</p> +<p>clEnqueueAcquireDX9MediaSurfacesKHR - Acquire OpenCL memory objects created from a media surface</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueAcquireDX9MediaSurfacesKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To acquire OpenCL memory objects that have been created from a media +surface, call the function</p> </div> +<div id="clEnqueueAcquireDX9MediaSurfacesKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_dx9_media_sharing +cl_int clEnqueueAcquireDX9MediaSurfacesKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> is provided by the <code>cl_khr_dx9_media_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,339 +810,112 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> +<p><em>command_queue</em> is a valid command-queue.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from media surfaces.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this particular -command and can be used to query or queue a wait for this particular -command to complete. <em>event</em> can be NULL in which case it will not be -possible for the application to query the status of this command or -queue a wait for this command to complete. If <em>event_wait_list</em> and -<em>event</em> are not NULL, <em>event</em> should not refer to an element of the -<em>event_wait_list</em> array.</p> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Used to acquire OpenCL memory objects that have been created from a media surface. -The media surfaces are acquired by the OpenCL context associated with <em>command_queue</em> and can therefore be used by all command-queues associated with the OpenCL context.</p> +<p>The media surfaces are acquired by the OpenCL context associated with +<em>command_queue</em> and can therefore be used by all command-queues associated +with the OpenCL context.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from media surfaces must be acquired before they can be used by any OpenCL commands queued to a command-queue. -If an OpenCL memory object created from a media surface is used while it is not currently acquired by OpenCL, the call attempting to use that OpenCL memory object will return <code>CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR</code>.</p> +<p>OpenCL memory objects created from media surfaces must be acquired before +they can be used by any OpenCL commands queued to a command-queue. +If an OpenCL memory object created from a media surface is used while it is +not currently acquired by OpenCL, the call attempting to use that OpenCL +memory object will return <code>CL_DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code>.</p> </div> <div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueAcquireDX9MediaSurfacesKHR</code> provides the synchronization guarantee that any media adapter API calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireDX9MediaSurfacesKHR</code> is called will complete executing before <em>event</em> reports completion and before the execution of any subsequent OpenCL work issued in <em>command_queue</em> begins. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any media adapter API calls involving the interop device(s) used in the OpenCL context made before <code>clEnqueueAcquireDX9MediaSurfacesKHR</code> is called have completed before calling <code>clEnqueueAcquireDX9MediaSurfacesKHR</code>.</p> +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> provides the +synchronization guarantee that any media adapter API calls involving the +interop device(s) used in the OpenCL context made before +<strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> is called will complete executing +before <em>event</em> reports completion and before the execution of any subsequent +OpenCL work issued in <em>command_queue</em> begins. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any media adapter API calls involving the interop +device(s) used in the OpenCL context made before +<strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> is called have completed before +calling <strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> <strong>.</strong></p> </div> <div class="paragraph"> -<p>General information about sharing memory objects with DX9 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to allow applications to use media surfaces as -OpenCL memory objects. This allows efficient sharing of data between OpenCL -and selected adapter APIs (only DX9 for now). If this extension is -supported, an OpenCL image object can be created from a media surface and -the OpenCL API can be used to execute kernels that read and/or write memory -objects that are media surfaces. Note that OpenCL memory objects may be -created from the adapter media surface if and only if the OpenCL context has -been created from that adapter.</p> -</div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string -"cl_khr_dx9_media_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> -(see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_dx9_media_sharing.h</code>.</p> -</div> -<div class="paragraph"> -<div class="title">Surface formats for Media Surface Sharing</div> -<p>This section includes the D3D surface formats that are supported when the -adapter type is one of the Direct 3D lineage. Using a D3D surface format not -listed here is an error. To extend the use of this extension to support -media adapters beyond DirectX9 tables similar to the ones in this section -will need to be defined for the surface formats supported by the new media -adapter. All implementations that support this extension are required to -support the NV12 surface format, the other surface formats supported are the -same surface formats that the adapter you are sharing with supports as long -as they are listed in the tables below (Tables 9.10.3 and 9.10.4).</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">FOUR CC code</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>In the table above, NV12 Plane 0 corresponds to the luminance (Y) channel -and Plane 1 corresponds to the UV channels. The YV12 Plane 0 corresponds to -the Y channel, Plane 1 to the U channel and Plane 2 to the V channel. Note -that the YUV formats map to <code>CL_R</code> and <code>CL_RG</code> but do not perform any YUV to -RGB conversion and vice-versa.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">D3D format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_A, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A32B32G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Note that D3D9 format names seem to imply that the order of the color -channels are switched relative to OpenCL but this is not the case. For -example, layout of channels for each pixel for <code>D3DFMT_A32FB32FG32FR32F</code> is -the same as <code>CL_RGBA</code>, <code>CL_FLOAT</code>.</p> -</div> -<div class="paragraph"> -<p>Properties of media surface objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR</code>, <code>CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR</code> and -<code>CL_IMAGE_DX9_MEDIA_SURFACE_PLANE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL then the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> returns <code>CL_SUCCESS</code> if the function +is executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> then the function does +nothing and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from media surfaces.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from media surfaces.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from a device that can share the media surface referenced by <em>mem_objects</em>.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from a device that can share the media surface referenced by +<em>mem_objects</em>.</p> </li> <li> -<p><code>CL_DX9_MEDIA_SURFACE_ALREADY_ACQUIRED_KHR</code> if memory objects in <em>mem_objects</em> have previously been acquired using <code>clEnqueueAcquireDX9MediaSurfacesKHR</code> but have not been released using <a href="clEnqueueReleaseDX9MediaSurfacesKHR.html">clEnqueueReleaseDX9MediaSurfacesKHR</a>.</p> +<p><code>CL_DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in +<em>mem_objects</em> have previously been acquired using +<strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong> but have not been released using +<strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong>.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1134,7 +925,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1142,10 +933,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireDX9MediaSurfacesKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireDX9MediaSurfacesKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireDX9MediaSurfacesKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1153,7 +945,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1163,8 +955,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireEGLObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueAcquireEGLObjectsKHR.html index 11994a1..dc8d46f 100644 --- a/sdk/3.0/docs/man/html/clEnqueueAcquireEGLObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireEGLObjectsKHR.html
@@ -767,21 +767,40 @@ <h1>clEnqueueAcquireEGLObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueAcquireEGLObjectsKHR - Acquire OpenCL memory objects that have been created from EGL resources.</p> +<p>clEnqueueAcquireEGLObjectsKHR - Acquire OpenCL memory objects created from EGL resources</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueAcquireEGLObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To acquire OpenCL memory objects that have been created from EGL resources, +call the function</p> </div> +<div id="clEnqueueAcquireEGLObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_egl_image +cl_int clEnqueueAcquireEGLObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireEGLObjectsKHR</strong> is provided by the <code>cl_khr_egl_image</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,36 +810,36 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> +<p><em>command_queue</em> is a valid command-queue.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from EGL resources, within the context associate with -<em>command_queue</em>.</p> +command_queue.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this command and can -be used to query or queue a wait for the command to complete. <em>event</em> -can be NULL in which case it will not be possible for the application to -query the status of this command or queue a wait for this command to -complete.</p> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> @@ -830,45 +849,57 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This function is used to acquire OpenCL memory objects that have been created from EGL resources. -The EGL objects are acquired by the OpenCL context associated with <em>command_queue</em> and can therefore be used by all command-queues associated with the OpenCL context.</p> +<p>The EGL objects are acquired by the OpenCL context associated with +<em>command_queue</em> and can therefore be used by all command-queues associated +with the OpenCL context.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from EGL resources must be acquired before they can be used by any OpenCL commands queued to a command-queue. -If an OpenCL memory object created from a EGL resource is used while it is not currently acquired by OpenCL, the call attempting to use that OpenCL memory object will return <code>CL_EGL_RESOURCE_NOT_ACQUIRED_KHR</code>.</p> +<p>OpenCL memory objects created from EGL resources must be acquired before +they can be used by any OpenCL commands queued to a command-queue. +If an OpenCL memory object created from a EGL resource is used while it is +not currently acquired by OpenCL, the behavior is undefined. +Implementations may fail the execution of commands attempting to use that +OpenCL memory object and set their associated event’s execution status to +<code>CL_EGL_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code>.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and returns <code>CL_SUCCESS</code>. -Otherwise, it returns one of the following errors:</p> +<p><strong>clEnqueueAcquireEGLObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> then the function does +nothing and returns <code>CL_SUCCESS</code>. +Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if num_objects > 0 and mem_objects is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects in the context associated with <em>command_queue</em>.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects in the context associated with <em>command_queue</em>.</p> </li> <li> -<p><code>CL_INVALID_EGL_OBJECT_KHR</code> if memory objects in <em>mem_objects</em> have not been created from EGL resources.</p> +<p><code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code> if memory objects in <em>mem_objects</em> have not +been created from EGL resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not NULL and <em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -878,10 +909,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a>, -<a href="clEnqueueReleaseEGLObjectsKHR.html">clEnqueueReleaseEGLObjectsKHR</a>, -<a href="clCreateFromEGLImageKHR.html">clCreateFromEGLImageKHR</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -889,10 +917,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireEGLObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -900,7 +929,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -910,8 +939,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireExternalMemObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueAcquireExternalMemObjectsKHR.html new file mode 100644 index 0000000..6abf9b8 --- /dev/null +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireExternalMemObjectsKHR.html
@@ -0,0 +1,980 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clEnqueueAcquireExternalMemObjectsKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clEnqueueAcquireExternalMemObjectsKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clEnqueueAcquireExternalMemObjectsKHR - Enqueue a command to acquire OpenCL memory objects created from external memory handles</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enqueue a command to acquire OpenCL memory objects created from external +memory handles, call the function</p> +</div> +<div id="clEnqueueAcquireExternalMemObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_external_memory +cl_int clEnqueueAcquireExternalMemObjectsKHR( + cl_command_queue command_queue, + cl_uint num_mem_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireExternalMemObjectsKHR</strong> is provided by the <code>cl_khr_external_memory</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_queue</em> specifies a valid command-queue.</p> +</li> +<li> +<p><em>num_mem_objects</em> specifies the number of memory objects to acquire.</p> +</li> +<li> +<p><em>mem_objects</em> points to a list of valid memory objects.</p> +</li> +<li> +<p><em>num_events_in_wait_list</em> specifies the number of events in +<em>event_wait_list</em>.</p> +</li> +<li> +<p><em>event_wait_list</em> points to the list of events that need to complete +before <strong>clEnqueueAcquireExternalMemObjectsKHR</strong> can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then +<strong>clEnqueueAcquireExternalMemObjectsKHR</strong> does not explicitly wait on any +event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by +<em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points. +The context associated with events in <em>event_wait_list</em> and that of +<em>command_queue</em> must be the same.</p> +</li> +<li> +<p><em>event</em> returns an event object that identifies this particular command +and can be used to query or queue a wait for this particular command to +complete. +<em>event</em> can be <code>NULL</code> in which case it will not be possible for the +application to query the status of this command or queue a wait for this +command to complete.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Applications must acquire the memory objects that are created using external +handles before they can be used by any OpenCL commands queued to a +command-queue. +Behavior is undefined if a memory object created from an external memory +handle is used by an OpenCL command queued to a command-queue without being +acquired. +This is to guarantee that the state of the memory objects is up-to-date and +they are accessible to OpenCL. +See <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory-Sample-Code" target="_blank" rel="noopener">“Example with Acquire / +Release”</a> for more details on how to use this API.</p> +</div> +<div class="paragraph"> +<p>If <em>num_mem_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code>, the command will +trivially succeed after its event dependencies are satisfied and will update +its completion event.</p> +</div> +<div class="paragraph"> +<p><strong>clEnqueueAcquireExternalMemObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function +is executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_mem_objects</em> is zero and <em>mem_objects</em> is not +a <code>NULL</code> value, or if <em>num_mem_objects</em> is greater than 0 and +<em>mem_objects</em> is <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if any of the memory objects in <em>mem_objects</em> is +not a valid OpenCL memory object created using an external memory +handle.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>command_queue</em> is not a valid command-queue, or</p> +</li> +<li> +<p>if device associated with <em>command_queue</em> is not one of the devices +specified by <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> at the time of creating +one or more of <em>mem_objects</em>, or ** if one or more of <em>mem_objects</em> +belong to a context that does not contain a device associated with +<em>command_queue</em>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>event_wait_list</em> is <code>NULL</code> and <em>num_events_in_wait_list</em> is not 0, +or</p> +</li> +<li> +<p>if <em>event_wait_list</em> is not <code>NULL</code> and <em>num_events_in_wait_list</em> is 0, +or</p> +</li> +<li> +<p>if event objects in <em>event_wait_list</em> are not valid events.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_EXEC_<wbr>STATUS_<wbr>ERROR_<wbr>FOR_<wbr>EVENTS_<wbr>IN_<wbr>WAIT_<wbr>LIST</code> if the execution status +of any of the events in <em>event_wait_list</em> is a negative integer value.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_external_memory.html">cl_khr_external_memory</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireExternalMemObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clEnqueueAcquireGLObjects.html b/sdk/3.0/docs/man/html/clEnqueueAcquireGLObjects.html index c421bcd..0e639a4 100644 --- a/sdk/3.0/docs/man/html/clEnqueueAcquireGLObjects.html +++ b/sdk/3.0/docs/man/html/clEnqueueAcquireGLObjects.html
@@ -767,22 +767,40 @@ <h1>clEnqueueAcquireGLObjects(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueAcquireGLObjects - Acquire OpenCL memory objects that have been created from OpenGL objects.</p> +<p>clEnqueueAcquireGLObjects - Acquire OpenCL memory objects created from OpenGL objects</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueAcquireGLObjects(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To acquire OpenCL memory objects that have been created from OpenGL objects, +call the function</p> </div> +<div id="clEnqueueAcquireGLObjects" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_int clEnqueueAcquireGLObjects( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueAcquireGLObjects</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,71 +810,38 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue. All devices used to create the -OpenCL context associated with <em>command_queue</em> must support acquiring -shared CL/GL objects. This constraint is enforced at context creation -time.</p> +<p><em>command_queue</em> is a valid command-queue. +All devices used to create the OpenCL context associated with +<em>command_queue</em> must support acquiring shared OpenCL/OpenGL objects. +This constraint is enforced at context creation time.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of CL memory objects that correspond -to GL objects.</p> +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that +correspond to OpenGL objects.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this command and can -be used to query or queue a wait for the command to complete. <em>event</em> -can be NULL in which case it will not be possible for the application to -query the status of this command or queue a wait for this command to -complete. If <em>event_wait_list</em> and <em>event</em> are not NULL, <em>event</em> should -not refer to an element of the <em>event_wait_list</em> array.</p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, if an OpenGL context -is bound to the current thread, then any OpenGL commands which</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>affect or access the contents of a memory object listed in the -<em>mem_objects</em> list, and</p> -</li> -<li> -<p>were issued on that OpenGL context prior to the call to -<code>clEnqueueAcquireGLObjects</code></p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>will complete before execution of any OpenCL commands following the -<code>clEnqueueAcquireGLObjects</code> which affect or access any of those memory -objects. If a non-NULL event object is returned, it will report completion -only after completion of such OpenGL commands.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported, prior to calling -<code>clEnqueueAcquireGLObjects</code>, the application must ensure that any pending -EGL or EGL client API operations which access the objects specified in -<em>mem_objects</em> have completed.</p> -</div> -</div> -</div> +<p><em>event</em> returns an event object that identifies this command and can be +used to query wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> @@ -866,571 +851,77 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>These objects need to be acquired before they can be used by any OpenCL commands queued to a command-queue. -The OpenGL objects are acquired by the OpenCL context associated with <em>command_queue</em> and can therefore be used by all command-queues associated with the OpenCL context.</p> +<p>If an OpenGL context is bound to the current thread, then any OpenGL +commands which</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>General information about GL sharing follows.</p> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>affect or access the contents of a memory object listed in the +<em>mem_objects</em> list, and</p> +</li> +<li> +<p>were issued on that OpenGL context prior to the call to +<strong>clEnqueueAcquireGLObjects</strong></p> +</li> +</ol> </div> <div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> +<p>will complete before execution of any OpenCL commands following the +<strong>clEnqueueAcquireGLObjects</strong> which affect or access any of those memory +objects. +If a non-<code>NULL</code> <em>event</em> object is returned, it will report completion only +after completion of such OpenGL commands.</p> </div> <div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> +<p>These objects need to be acquired before they can be used by any OpenCL +commands queued to a command-queue or the behaviour is undefined. +The OpenGL objects are acquired by the OpenCL context associated with +<em>command_queue</em> and can therefore be used by all command-queues associated +with the OpenCL context.</p> </div> <div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is -successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> -</div> -<div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueAcquireGLObjects</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> the function does nothing +and returns <code>CL_SUCCESS</code>. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from an OpenGL context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from an OpenGL context</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if memory objects in <em>mem_objects</em> have not been created from a GL object(s).</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> have not been +created from an OpenGL object(s).</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not NULL and <em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1440,10 +931,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="cl_khr_gl_event.html">cl_khr_gl_event</a>, -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, -<a href="clCreateBuffer.html">clCreateBuffer</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1451,10 +939,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueAcquireGLObjects" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireGLObjects" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueAcquireGLObjects</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1462,7 +951,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1472,8 +961,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueBarrier.html b/sdk/3.0/docs/man/html/clEnqueueBarrier.html index cdcd6dc..231cc39 100644 --- a/sdk/3.0/docs/man/html/clEnqueueBarrier.html +++ b/sdk/3.0/docs/man/html/clEnqueueBarrier.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueBarrier" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueBarrier( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueBarrier( cl_command_queue command_queue);</code></pre> </div> </div> @@ -867,7 +868,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -877,8 +878,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueBarrierWithWaitList.html b/sdk/3.0/docs/man/html/clEnqueueBarrierWithWaitList.html index f7f5d66..fc3fee2 100644 --- a/sdk/3.0/docs/man/html/clEnqueueBarrierWithWaitList.html +++ b/sdk/3.0/docs/man/html/clEnqueueBarrierWithWaitList.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueBarrierWithWaitList" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueBarrierWithWaitList( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clEnqueueBarrierWithWaitList( cl_command_queue command_queue, cl_uint num_events_in_wait_list, const cl_event* event_wait_list, @@ -912,7 +913,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -922,8 +923,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueCommandBufferKHR.html b/sdk/3.0/docs/man/html/clEnqueueCommandBufferKHR.html new file mode 100644 index 0000000..33628dc --- /dev/null +++ b/sdk/3.0/docs/man/html/clEnqueueCommandBufferKHR.html
@@ -0,0 +1,974 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clEnqueueCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clEnqueueCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clEnqueueCommandBufferKHR - Enqueue a command-buffer to execute on command-queues</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enqueue a command-buffer to execute on command-queues, call the function</p> +</div> +<div id="clEnqueueCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clEnqueueCommandBufferKHR( + cl_uint num_queues, + cl_command_queue* queues, + cl_command_buffer_khr command_buffer, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>num_queues</em> is the number of command-queues listed in <em>queues</em>.</p> +</li> +<li> +<p><em>queues</em> is a pointer to an ordered list of command-queues <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">compatible</a> with the command-queues used on recording. +<em>queues</em> can be <code>NULL</code>, in which case the default command-queues used on +command-buffer creation are used and <em>num_queues</em> must be 0.</p> +</li> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>event_wait_list</em>, <em>num_events_in_wait_list</em> specify events that need to +complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If event_wait_list is not <code>NULL</code>, the list of events pointed to by +<em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points. +The context associated with events in <em>event_wait_list</em> and +command_queue must be the same. +The memory associated with <em>event_wait_list</em> can be reused or freed +after the function returns.</p> +</li> +<li> +<p><em>event</em> will return an event object that identifies this command and can be +used to query for profiling information or queue a wait for this +particular command to complete. +<em>event</em> can be <code>NULL</code> in which case it will not be possible for the +application to wait on this command or query it for profiling +information.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>To enqueue a command-buffer it must be in a <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#executable" target="_blank" rel="noopener">Executable</a> state, +see <strong>clFinalizeCommandBufferKHR</strong>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clEnqueueCommandBufferKHR</strong> returns <code>CL_SUCCESS</code> if the command-buffer +execution was successfully queued, or one of the errors below:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has not been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> was not created with the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code> flag and is in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#pending" target="_blank" rel="noopener">Pending</a> state.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>queues</em> is <code>NULL</code> and <em>num_queues</em> is > 0, or +<em>queues</em> is not <code>NULL</code> and <em>num_queues</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_queues</em> is > 0 and not the same value as +<em>num_queues</em> set on <em>command_buffer</em> creation.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if any element of <em>queues</em> is not a valid +command-queue.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if any element of <em>queues</em> is not +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">compatible</a> with the command-queue set on +<em>command_buffer</em> creation at the same list index.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if any element of <em>queues</em> does not have the same +context as the command-queue set on <em>command_buffer</em> creation at the +same list index.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_buffer</em> and +events in <em>event_wait_list</em> are not the same.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to queue the execution +instance of <em>command_buffer</em> on the command-queues because of +insufficient resources needed to execute <em>command_buffer</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clEnqueueCopyBuffer.html b/sdk/3.0/docs/man/html/clEnqueueCopyBuffer.html index dcab8d9..1cce1ff 100644 --- a/sdk/3.0/docs/man/html/clEnqueueCopyBuffer.html +++ b/sdk/3.0/docs/man/html/clEnqueueCopyBuffer.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueCopyBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueCopyBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueCopyBuffer( cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, @@ -942,7 +943,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -952,8 +953,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueCopyBufferRect.html b/sdk/3.0/docs/man/html/clEnqueueCopyBufferRect.html index 039bec0..7b677e8 100644 --- a/sdk/3.0/docs/man/html/clEnqueueCopyBufferRect.html +++ b/sdk/3.0/docs/man/html/clEnqueueCopyBufferRect.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueCopyBufferRect" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueCopyBufferRect( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clEnqueueCopyBufferRect( cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, @@ -1048,7 +1049,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1058,8 +1059,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueCopyBufferToImage.html b/sdk/3.0/docs/man/html/clEnqueueCopyBufferToImage.html index 932bc0a..d28cafb 100644 --- a/sdk/3.0/docs/man/html/clEnqueueCopyBufferToImage.html +++ b/sdk/3.0/docs/man/html/clEnqueueCopyBufferToImage.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueCopyBufferToImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueCopyBufferToImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueCopyBufferToImage( cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image, @@ -825,7 +826,9 @@ If <em>dst_image</em> is a 1D image array object, <em>dst_origin</em>[1] describes the image index in the 1D image array. If <em>dst_image</em> is a 2D image array object, <em>dst_origin</em>[2] describes the -image index in the 2D image array.</p> +image index in the 2D image array. +If <em>dst_image</em> is a mipmapped image, the mip level to write is +determined from <em>dst_origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying Mipmap Levels to Image Operations</a></p> </li> <li> <p><em>region</em> defines the (<em>width</em>, <em>height</em>, <em>depth</em>) in pixels of the 1D, 2D or @@ -957,6 +960,11 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is +supported, and the mip level specified in <em>dst_origin</em> is not a valid +level for <em>dst_image</em>,</p> +</li> </ul> </div> </div> @@ -985,7 +993,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -995,8 +1003,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueCopyImage.html b/sdk/3.0/docs/man/html/clEnqueueCopyImage.html index 7f26378..2fef337 100644 --- a/sdk/3.0/docs/man/html/clEnqueueCopyImage.html +++ b/sdk/3.0/docs/man/html/clEnqueueCopyImage.html
@@ -779,7 +779,8 @@ </div> <div id="clEnqueueCopyImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueCopyImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueCopyImage( cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, @@ -823,7 +824,10 @@ If <em>src_image</em> is a 1D image array object, <em>src_origin</em>[1] describes the image index in the 1D image array. If <em>src_image</em> is a 2D image array object, <em>src_origin</em>[2] describes the -image index in the 2D image array.</p> +image index in the 2D image array. +If <em>src_image</em> is a mipmapped image, the mip level to read is determined +from <em>src_origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying +Mipmap Levels to Image Operations</a></p> </li> <li> <p><em>dst_origin</em> defines the (<em>x</em>, <em>y</em>, <em>z</em>) offset in pixels in the 1D, 2D or @@ -836,7 +840,9 @@ If <em>dst_image</em> is a 1D image array object, <em>dst_origin</em>[1] describes the image index in the 1D image array. If <em>dst_image</em> is a 2D image array object, <em>dst_origin</em>[2] describes the -image index in the 2D image array.</p> +image index in the 2D image array. +If <em>dst_image</em> is a mipmapped image, the mip level to write is +determined from <em>dst_origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying Mipmap Levels to Image Operations</a></p> </li> <li> <p><em>region</em> defines the (<em>width</em>, <em>height</em>, <em>depth</em>) in pixels of the 1D, 2D or @@ -964,6 +970,11 @@ <p><code>CL_MEM_<wbr>COPY_<wbr>OVERLAP</code> if <em>src_image</em> and <em>dst_image</em> are the same image object and the source and destination regions overlap.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is +supported, and the mip level specified in <em>src_origin</em> or <em>dst_origin</em> +is not a valid level for the corresponding <em>src_image</em> or <em>dst_image</em>,</p> +</li> </ul> </div> </div> @@ -992,7 +1003,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1002,8 +1013,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueCopyImageToBuffer.html b/sdk/3.0/docs/man/html/clEnqueueCopyImageToBuffer.html index a351f6a..4f5b95d 100644 --- a/sdk/3.0/docs/man/html/clEnqueueCopyImageToBuffer.html +++ b/sdk/3.0/docs/man/html/clEnqueueCopyImageToBuffer.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueCopyImageToBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueCopyImageToBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueCopyImageToBuffer( cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer, @@ -821,7 +822,10 @@ If <em>src_image</em> is a 1D image array object, <em>src_origin</em>[1] describes the image index in the 1D image array. If <em>src_image</em> is a 2D image array object, <em>src_origin</em>[2] describes the -image index in the 2D image array.</p> +image index in the 2D image array. +If <em>src_image</em> is a mipmapped image, the mip level to read is determined +from <em>src_origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying +Mipmap Levels to Image Operations</a></p> </li> <li> <p><em>region</em> defines the (<em>width</em>, <em>height</em>, <em>depth</em>) in pixels of the 1D, 2D or @@ -954,6 +958,11 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is +supported, and the mip level specified in <em>src_origin</em> is not a valid +level for <em>src_image</em>,</p> +</li> </ul> </div> </div> @@ -982,7 +991,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -992,8 +1001,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueFillBuffer.html b/sdk/3.0/docs/man/html/clEnqueueFillBuffer.html index 5761a66..2da2d67 100644 --- a/sdk/3.0/docs/man/html/clEnqueueFillBuffer.html +++ b/sdk/3.0/docs/man/html/clEnqueueFillBuffer.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueFillBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueFillBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clEnqueueFillBuffer( cl_command_queue command_queue, cl_mem buffer, const void* pattern, @@ -964,7 +965,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -974,8 +975,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueFillImage.html b/sdk/3.0/docs/man/html/clEnqueueFillImage.html index 87b3a81..9ce7d35 100644 --- a/sdk/3.0/docs/man/html/clEnqueueFillImage.html +++ b/sdk/3.0/docs/man/html/clEnqueueFillImage.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueFillImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueFillImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clEnqueueFillImage( cl_command_queue command_queue, cl_mem image, const void* fill_color, @@ -829,8 +830,8 @@ <em>image</em> channel data type is an unnormalized signed integer type and is a four component unsigned integer value if the <em>image</em> channel data type is an unnormalized unsigned integer type. -The fill color will be converted to the appropriate image channel format and -order associated with <em>image</em>.</p> +The fill color will be converted to the appropriate image channel format +and order associated with <em>image</em>.</p> </li> <li> <p><em>origin</em> defines the (<em>x</em>, <em>y</em>, <em>z</em>) offset in pixels in the 1D, 2D or 3D @@ -843,7 +844,10 @@ If <em>image</em> is a 1D image array object, <em>origin</em>[1] describes the image index in the 1D image array. If <em>image</em> is a 2D image array object, <em>origin</em>[2] describes the image index -in the 2D image array.</p> +in the 2D image array. +If <em>image</em> is a mipmapped image, the mip level to fill is determined +from <em>origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying Mipmap +Levels to Image Operations</a></p> </li> <li> <p><em>region</em> defines the (<em>width</em>, <em>height</em>, <em>depth</em>) in pixels of the 1D, 2D or @@ -954,6 +958,11 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is +supported, and the mip level specified in <em>origin</em> is not a valid level +for <em>image</em>,</p> +</li> </ul> </div> </div> @@ -982,7 +991,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -992,8 +1001,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueMapBuffer.html b/sdk/3.0/docs/man/html/clEnqueueMapBuffer.html index 8835e93..8abbd87 100644 --- a/sdk/3.0/docs/man/html/clEnqueueMapBuffer.html +++ b/sdk/3.0/docs/man/html/clEnqueueMapBuffer.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueMapBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">void* clEnqueueMapBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +void* clEnqueueMapBuffer( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map, @@ -1051,7 +1052,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1061,8 +1062,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueMapImage.html b/sdk/3.0/docs/man/html/clEnqueueMapImage.html index ef2a788..eb1a19e 100644 --- a/sdk/3.0/docs/man/html/clEnqueueMapImage.html +++ b/sdk/3.0/docs/man/html/clEnqueueMapImage.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueMapImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">void* clEnqueueMapImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +void* clEnqueueMapImage( cl_command_queue command_queue, cl_mem image, cl_bool blocking_map, @@ -1062,7 +1063,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1072,8 +1073,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueMarker.html b/sdk/3.0/docs/man/html/clEnqueueMarker.html index 15da60b..7862458 100644 --- a/sdk/3.0/docs/man/html/clEnqueueMarker.html +++ b/sdk/3.0/docs/man/html/clEnqueueMarker.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueMarker" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueMarker( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueMarker( cl_command_queue command_queue, cl_event* event);</code></pre> </div> @@ -879,7 +880,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -889,8 +890,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueMarkerWithWaitList.html b/sdk/3.0/docs/man/html/clEnqueueMarkerWithWaitList.html index 23b6446..11a903e 100644 --- a/sdk/3.0/docs/man/html/clEnqueueMarkerWithWaitList.html +++ b/sdk/3.0/docs/man/html/clEnqueueMarkerWithWaitList.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueMarkerWithWaitList" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueMarkerWithWaitList( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clEnqueueMarkerWithWaitList( cl_command_queue command_queue, cl_uint num_events_in_wait_list, const cl_event* event_wait_list, @@ -910,7 +911,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -920,8 +921,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueMigrateMemObjects.html b/sdk/3.0/docs/man/html/clEnqueueMigrateMemObjects.html index c3ff5d5..64e2986 100644 --- a/sdk/3.0/docs/man/html/clEnqueueMigrateMemObjects.html +++ b/sdk/3.0/docs/man/html/clEnqueueMigrateMemObjects.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueMigrateMemObjects" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueMigrateMemObjects( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clEnqueueMigrateMemObjects( cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem* mem_objects, @@ -992,7 +993,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1002,8 +1003,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueNDRangeKernel.html b/sdk/3.0/docs/man/html/clEnqueueNDRangeKernel.html index 06ad8d9..32facb5 100644 --- a/sdk/3.0/docs/man/html/clEnqueueNDRangeKernel.html +++ b/sdk/3.0/docs/man/html/clEnqueueNDRangeKernel.html
@@ -779,7 +779,8 @@ </div> <div id="clEnqueueNDRangeKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueNDRangeKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueNDRangeKernel( cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, @@ -1120,7 +1121,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1130,8 +1131,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueNativeKernel.html b/sdk/3.0/docs/man/html/clEnqueueNativeKernel.html index a3b02cb..7e257ff 100644 --- a/sdk/3.0/docs/man/html/clEnqueueNativeKernel.html +++ b/sdk/3.0/docs/man/html/clEnqueueNativeKernel.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueNativeKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueNativeKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueNativeKernel( cl_command_queue command_queue, void (CL_CALLBACK* user_func)(void*), void* args, @@ -980,7 +981,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -990,8 +991,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReadBuffer.html b/sdk/3.0/docs/man/html/clEnqueueReadBuffer.html index d91bfe3..a403b85 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReadBuffer.html +++ b/sdk/3.0/docs/man/html/clEnqueueReadBuffer.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueReadBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueReadBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueReadBuffer( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, @@ -794,7 +795,8 @@ </div> <div id="clEnqueueWriteBuffer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueWriteBuffer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueWriteBuffer( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, @@ -991,7 +993,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1001,8 +1003,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReadBufferRect.html b/sdk/3.0/docs/man/html/clEnqueueReadBufferRect.html index 4dd5015..e66a47e 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReadBufferRect.html +++ b/sdk/3.0/docs/man/html/clEnqueueReadBufferRect.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueReadBufferRect" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueReadBufferRect( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clEnqueueReadBufferRect( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, @@ -812,7 +813,8 @@ </div> <div id="clEnqueueWriteBufferRect" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueWriteBufferRect( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clEnqueueWriteBufferRect( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, @@ -1186,7 +1188,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1196,8 +1198,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReadImage.html b/sdk/3.0/docs/man/html/clEnqueueReadImage.html index 0c1a443..1b2fe68 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReadImage.html +++ b/sdk/3.0/docs/man/html/clEnqueueReadImage.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueReadImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueReadImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueReadImage( cl_command_queue command_queue, cl_mem image, cl_bool blocking_read, @@ -797,7 +798,8 @@ </div> <div id="clEnqueueWriteImage" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueWriteImage( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueWriteImage( cl_command_queue command_queue, cl_mem image, cl_bool blocking_write, @@ -852,7 +854,9 @@ If <em>image</em> is a 1D image or 1D image buffer object, <em>region</em>[1] and <em>region</em>[2] must be 1. If <em>image</em> is a 1D image array object, <em>region</em>[2] must be 1. -The values in <em>region</em> cannot be 0.</p> +The values in <em>region</em> cannot be 0. +If <em>image</em> is a mipmapped image, the mip level to read or write is +determined from <em>origin</em> as described in <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying Mipmap Levels to Image Operations</a></p> </li> <li> <p><em>row_pitch</em> in <strong>clEnqueueReadImage</strong> and <em>input_row_pitch</em> in @@ -1027,6 +1031,11 @@ <p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> +<li> +<p><code>CL_INVALID_<wbr>MIP_<wbr>LEVEL</code> if the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is +supported, and the mip level specified in <em>origin</em> is not a valid level +for <em>image</em>,</p> +</li> </ul> </div> <div class="admonitionblock note"> @@ -1122,7 +1131,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1132,8 +1141,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseD3D10ObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueReleaseD3D10ObjectsKHR.html index 9654be5..dcc65ff 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReleaseD3D10ObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseD3D10ObjectsKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueReleaseD3D10ObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueReleaseD3D10ObjectsKHR - Release OpenCL memory objects that have been created from Direct3D 10 resources.</p> +<p>clEnqueueReleaseD3D10ObjectsKHR - Release OpenCL memory objects created from Direct3D 10 resources</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueReleaseD3D10ObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To release OpenCL memory objects that have been created from Direct3D 10 +resources, call the function</p> </div> +<div id="clEnqueueReleaseD3D10ObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_int clEnqueueReleaseD3D10ObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueReleaseD3D10ObjectsKHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,31 +810,29 @@ <div class="ulist"> <ul> <li> -<p><em>num_objects</em> - The number of memory objects to be released in +<p><em>num_objects</em> is the number of memory objects to be released in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from Direct3D 10 resources.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be greater than 0.</p> </li> <li> -<p><em>event</em> returns an event object that identifies this command and -can be used to query or wait for this command to complete. +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be -created and therefore it will not be possible to query the status of this -command or to wait for this command to complete. +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer to an element of the <em>event_wait_list</em> array.</p> </li> @@ -825,103 +841,78 @@ </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The Direct3D 10 objects are released by the OpenCL context associated with <em>command_queue</em>.</p> +<p>The Direct3D 10 objects are released by the OpenCL context associated with +<em>command_queue</em>.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from Direct3D 10 resources which have been acquired by OpenCL must be released by OpenCL before they may be accessed by Direct3D 10. -Accessing a Direct3D 10 resource while its corresponding OpenCL memory object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> -</div> -<div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueReleaseD3D10ObjectsKHR</code> provides the synchronization guarantee that any calls to Direct3D 10 calls involving the interop device(s) used in the OpenCL context made after the call to <code>clEnqueueReleaseD3D10ObjectsKHR</code> will not start executing until after all events in <em>event_wait_list</em> are complete and all work already submitted to <em>command_queue</em> completes execution. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any Direct3D 10 calls involving the interop device(s) used in the OpenCL context made after <code>clEnqueueReleaseD3D10ObjectsKHR</code> will not start executing until after event returned by <code>clEnqueueReleaseD3D10ObjectsKHR</code> reports completion.</p> -</div> -<div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, +<p>OpenCL memory objects created from Direct3D 10 resources which have been +acquired by OpenCL must be released by OpenCL before they may be accessed by +Direct3D 10. +Accessing a Direct3D 10 resource while its corresponding OpenCL memory +object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and returns <code>CL_SUCCESS</code>. +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueReleaseD3D10ObjectsKHR</strong> provides the +synchronization guarantee that any calls to Direct3D 10 calls involving the +interop device(s) used in the OpenCL context made after the call to +<strong>clEnqueueReleaseD3D10ObjectsKHR</strong> will not start executing until after all +events in <em>event_wait_list</em> are complete and all work already submitted to +<em>command_queue</em> completes execution. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any Direct3D 10 calls involving the interop device(s) used +in the OpenCL context made after <strong>clEnqueueReleaseD3D10ObjectsKHR</strong> will not +start executing until after event returned by +<strong>clEnqueueReleaseD3D10ObjectsKHR</strong> reports completion.</p> +</div> +<div class="paragraph"> +<p><strong>clEnqueueReleaseD3D10ObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> the function does nothing +and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from Direct3D 10 resources.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from Direct3D 10 resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from an Direct3D 10 device.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from a Direct3D 10 device.</p> </li> <li> -<p><code>CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR</code> if memory objects in <em>mem_objects</em> have not previously been acquired using <code>clEnqueueAcquireD3D10ObjectsKHR</code>, or have been released using <code>clEnqueueReleaseD3D10ObjectsKHR</code> since the last time that they were acquired.</p> +<p><code>CL_D3D10_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in <em>mem_objects</em> +have not previously been acquired using +<strong>clEnqueueAcquireD3D10ObjectsKHR</strong>, or have been released using +<strong>clEnqueueReleaseD3D10ObjectsKHR</strong> since the last time that they were +acquired.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em>> is 0, or if event objects in +<em>event_wait_list</em> are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -931,7 +922,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -939,10 +930,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseD3D10ObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseD3D10ObjectsKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseD3D10ObjectsKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -950,7 +942,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -960,8 +952,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseD3D11ObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueReleaseD3D11ObjectsKHR.html index 10f1808..5a7ea69 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReleaseD3D11ObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseD3D11ObjectsKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueReleaseD3D11ObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueReleaseD3D11ObjectsKHR - Release OpenCL memory objects that have been created from Direct3D 11 resources.</p> +<p>clEnqueueReleaseD3D11ObjectsKHR - Release OpenCL memory objects created from Direct3D 11 resources</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueReleaseD3D11ObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To release OpenCL memory objects that have been created from Direct3D 11 +resources, call the function</p> </div> +<div id="clEnqueueReleaseD3D11ObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_int clEnqueueReleaseD3D11ObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueReleaseD3D11ObjectsKHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,31 +810,29 @@ <div class="ulist"> <ul> <li> -<p><em>num_objects</em> - The number of memory objects to be released in +<p><em>num_objects</em> is the number of memory objects to be released in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from Direct3D 11 resources.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be greater than 0.</p> </li> <li> -<p><em>event</em> returns an event object that identifies this command and -can be used to query or wait for this command to complete. +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be -created and therefore it will not be possible to query the status of this -command or to wait for this command to complete. +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer to an element of the <em>event_wait_list</em> array.</p> </li> @@ -825,106 +841,78 @@ </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The Direct3D 11 objects are released by the OpenCL context associated with <em>command_queue</em>.</p> +<p>The Direct3D 11 objects are released by the OpenCL context associated with +<em>command_queue</em>.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from Direct3D 11 resources which have been acquired by OpenCL must be released by OpenCL before they may be accessed by Direct3D 11. -Accessing a Direct3D 11 resource while its corresponding OpenCL memory object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> -</div> -<div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueReleaseD3D11ObjectsKHR</code> provides the synchronization guarantee that any calls to Direct3D 11 calls involving the interop device(s) used in the OpenCL context made after the call to <code>clEnqueueReleaseD3D11ObjectsKHR</code> will not start executing until after all events in <em>event_wait_list</em> are complete and all work already submitted to <em>command_queue</em> completes execution. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any Direct3D 11 calls involving the interop device(s) used in the OpenCL context made after <code>clEnqueueReleaseD3D11ObjectsKHR</code> will not start executing until after event returned by <code>clEnqueueReleaseD3D11ObjectsKHR</code> reports completion.</p> -</div> -<div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, +<p>OpenCL memory objects created from Direct3D 11 resources which have been +acquired by OpenCL must be released by OpenCL before they may be accessed by +Direct3D 11. +Accessing a Direct3D 11 resource while its corresponding OpenCL memory +object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> </div> <div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueReleaseD3D11ObjectsKHR</strong> provides the +synchronization guarantee that any calls to Direct3D 11 calls involving the +interop device(s) used in the OpenCL context made after the call to +<strong>clEnqueueReleaseD3D11ObjectsKHR</strong> will not start executing until after all +events in <em>event_wait_list</em> are complete and all work already submitted to +<em>command_queue</em> completes execution. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any Direct3D 11 calls involving the interop device(s) used +in the OpenCL context made after <strong>clEnqueueReleaseD3D11ObjectsKHR</strong> will not +start executing until after event returned by +<strong>clEnqueueReleaseD3D11ObjectsKHR</strong> reports completion.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueReleaseD3D11ObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> the function does nothing +and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from Direct3D 11 resources.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from Direct3D 11 resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from a Direct3D 11 device.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from a Direct3D 11 device.</p> </li> <li> -<p><code>CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR</code> if memory objects in <em>mem_objects</em> have not previously been acquired using <a href="clEnqueueAcquireD3D11ObjectsKHR.html">clEnqueueAcquireD3D11ObjectsKHR</a>, or have been released using <code>clEnqueueReleaseD3D11ObjectsKHR</code> since the last time that they were acquired.</p> +<p><code>CL_D3D11_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in <em>mem_objects</em> +have not previously been acquired using +<strong>clEnqueueAcquireD3D11ObjectsKHR</strong>, or have been released using +<strong>clEnqueueReleaseD3D11ObjectsKHR</strong> since the last time that they were +acquired.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em>> is 0, or if event objects in +<em>event_wait_list</em> are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -934,7 +922,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -942,10 +930,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseD3D11ObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseD3D11ObjectsKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseD3D11ObjectsKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -953,7 +942,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -963,8 +952,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseDX9MediaSurfacesKHR.html b/sdk/3.0/docs/man/html/clEnqueueReleaseDX9MediaSurfacesKHR.html index 9b84799..8beb41b 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReleaseDX9MediaSurfacesKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseDX9MediaSurfacesKHR.html
@@ -767,22 +767,40 @@ <h1>clEnqueueReleaseDX9MediaSurfacesKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueReleaseDX9MediaSurfacesKHR - Release OpenCL memory objects that have been created from media surfaces.</p> +<p>clEnqueueReleaseDX9MediaSurfacesKHR - Release OpenCL memory objects created from a media surface</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueReleaseDX9MediaSurfacesKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To release OpenCL memory objects that have been created from media surfaces, +call the function</p> </div> +<div id="clEnqueueReleaseDX9MediaSurfacesKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_dx9_media_sharing +cl_int clEnqueueReleaseDX9MediaSurfacesKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> is provided by the <code>cl_khr_dx9_media_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,34 +810,29 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> -</li> -<li> -<p><em>num_objects</em> - The number of memory objects to be released in +<p><em>num_objects</em> is the number of memory objects to be released in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were created from media surfaces.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be greater than 0.</p> </li> <li> -<p><em>event</em> returns an event object that identifies this command and -can be used to query or wait for this command to complete. +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be -created and therefore it will not be possible to query the status of this -command or to wait for this command to complete. +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer to an element of the <em>event_wait_list</em> array.</p> </li> @@ -828,302 +841,78 @@ </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Used to release OpenCL memory objects that have been created from media surfaces. -The media surfaces are released by the OpenCL context associated with <em>command_queue</em>.</p> +<p>The media surfaces are released by the OpenCL context associated with +<em>command_queue</em>.</p> </div> <div class="paragraph"> -<p>OpenCL memory objects created from media surfaces which have been acquired by OpenCL must be released by OpenCL before they may be accessed by the media adapter API. -Accessing a media surface while its corresponding OpenCL memory object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> +<p>OpenCL memory objects created from media surfaces which have been acquired +by OpenCL must be released by OpenCL before they may be accessed by the +media adapter API. +Accessing a media surface while its corresponding OpenCL memory object is +acquired is in error and will result in undefined behavior, including but +not limited to possible OpenCL errors, data corruption, and program +termination.</p> </div> <div class="paragraph"> -<p>If <code>CL_CONTEXT_INTEROP_USER_SYNC</code> is not specified as <code>CL_TRUE</code> during context creation, <code>clEnqueueReleaseDX9MediaSurfacesKHR</code> provides the synchronization guarantee that any calls to media adapter APIs involving the interop device(s) used in the OpenCL context made after the call to <code>clEnqueueReleaseDX9MediaSurfacesKHR</code> will not start executing until after all events in <em>event_wait_list</em> are complete and all work already submitted to <em>command_queue</em> completes execution. -If the context was created with properties specifying <code>CL_CONTEXT_INTEROP_USER_SYNC</code> as <code>CL_TRUE</code>, the user is responsible for guaranteeing that any media adapter API calls involving the interop device(s) used in the OpenCL context made after <code>clEnqueueReleaseDX9MediaSurfacesKHR</code> will not start executing until after event returned by <code>clEnqueueReleaseDX9MediaSurfacesKHR</code> reports completion.</p> +<p>If <code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> is not specified as <code>CL_TRUE</code> during +context creation, <strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> provides the +synchronization guarantee that any calls to media adapter APIs involving the +interop device(s) used in the OpenCL context made after the call to +<strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> will not start executing until after +all events in <em>event_wait_list</em> are complete and all work already submitted +to <em>command_queue</em> completes execution. +If the context was created with properties specifying +<code>CL_CONTEXT_<wbr>INTEROP_<wbr>USER_<wbr>SYNC</code> as <code>CL_TRUE</code>, the user is responsible for +guaranteeing that any media adapter API calls involving the interop +device(s) used in the OpenCL context made after +<strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> will not start executing until after +event returned by <strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> reports completion.</p> </div> <div class="paragraph"> -<p>General information about sharing memory objects with DX9 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to allow applications to use media surfaces as -OpenCL memory objects. This allows efficient sharing of data between OpenCL -and selected adapter APIs (only DX9 for now). If this extension is -supported, an OpenCL image object can be created from a media surface and -the OpenCL API can be used to execute kernels that read and/or write memory -objects that are media surfaces. Note that OpenCL memory objects may be -created from the adapter media surface if and only if the OpenCL context has -been created from that adapter.</p> -</div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string -"cl_khr_dx9_media_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> -(see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_dx9_media_sharing.h</code>.</p> -</div> -<div class="paragraph"> -<div class="title">Surface formats for Media Surface Sharing</div> -<p>This section includes the D3D surface formats that are supported when the -adapter type is one of the Direct 3D lineage. Using a D3D surface format not -listed here is an error. To extend the use of this extension to support -media adapters beyond DirectX9 tables similar to the ones in this section -will need to be defined for the surface formats supported by the new media -adapter. All implementations that support this extension are required to -support the NV12 surface format, the other surface formats supported are the -same surface formats that the adapter you are sharing with supports as long -as they are listed in the tables below (Tables 9.10.3 and 9.10.4).</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">FOUR CC code</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>In the table above, NV12 Plane 0 corresponds to the luminance (Y) channel -and Plane 1 corresponds to the UV channels. The YV12 Plane 0 corresponds to -the Y channel, Plane 1 to the U channel and Plane 2 to the V channel. Note -that the YUV formats map to <code>CL_R</code> and <code>CL_RG</code> but do not perform any YUV to -RGB conversion and vice-versa.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">D3D format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_A, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A32B32G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Note that D3D9 format names seem to imply that the order of the color -channels are switched relative to OpenCL but this is not the case. For -example, layout of channels for each pixel for <code>D3DFMT_A32FB32FG32FR32F</code> is -the same as <code>CL_RGBA</code>, <code>CL_FLOAT</code>.</p> -</div> -<div class="paragraph"> -<p>Properties of media surface objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR</code>, <code>CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR</code> and -<code>CL_IMAGE_DX9_MEDIA_SURFACE_PLANE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <_mem_objects_> is NULL then the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> returns <code>CL_SUCCESS</code> if the function +is executed successfully. +If <em>num_objects</em> is 0 and <<em>mem_objects</em>> is <code>NULL</code> the function does +nothing and returns <code>CL_SUCCESS</code>. Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects or if memory objects in <em>mem_objects</em> have not been created from valid media surfaces.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects or if memory objects in <em>mem_objects</em> have not +been created from valid media surfaces.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from a media object.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from a media object.</p> </li> <li> -<p><code>CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR</code> if memory objects in <em>mem_objects</em> have not been previously been acquired using <a href="clEnqueueAcquireDX9MediaSurfacesKHR.html">clEnqueueAcquireDX9MediaSurfacesKHR</a> or have been released using <code>clEnqueueReleaseDX9MediaSurfacesKHR</code> since the last time that they were acquired.</p> +<p><code>CL_DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code> if memory objects in +<em>mem_objects</em> have not previously been acquired using +<strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong>, or have been released using +<strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong> since the last time that they were +acquired.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <code>num_event_in_wait_list</code> > 0, or <em>event_wait_list</em> is not NULL and <code>num_event_in_wait_list</code> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em>> is 0, or if event objects in +<em>event_wait_list</em> are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1133,7 +922,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1141,10 +930,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseDX9MediaSurfacesKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseDX9MediaSurfacesKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseDX9MediaSurfacesKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1152,7 +942,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1162,8 +952,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseEGLObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueReleaseEGLObjectsKHR.html index 34f07f5..50dc272 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReleaseEGLObjectsKHR.html +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseEGLObjectsKHR.html
@@ -767,21 +767,40 @@ <h1>clEnqueueReleaseEGLObjectsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueReleaseEGLObjectsKHR - Release OpenCL memory objects that have been created from EGL resources.</p> +<p>clEnqueueReleaseEGLObjectsKHR - Release OpenCL memory objects created from EGL resources</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueReleaseEGLObjectsKHR(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To release OpenCL memory objects that have been created from EGL resources, +call the function</p> </div> +<div id="clEnqueueReleaseEGLObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_egl_image +cl_int clEnqueueReleaseEGLObjectsKHR( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueReleaseEGLObjectsKHR</strong> is provided by the <code>cl_khr_egl_image</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,36 +810,36 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> +<p><em>command_queue</em> is a valid command-queue.</p> </li> <li> -<p><em>num_objects</em> - The number of memory objects to be acquired in +<p><em>num_objects</em> is the number of memory objects to be acquired in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of OpenCL memory objects that were -created from EGL resources, within the context associated with -<em>command_queue</em>.</p> +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that were +created from EGL resources, within the context associate with +command_queue.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - Specify events that need to complete before this -particular command can be executed. If <em>event_wait_list</em> is NULL, then -this particular command does not wait on any event to complete. If -<em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must be 0. If -<em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this particular command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this command and can -be used to query or queue a wait for the command to complete. <em>event</em> -can be NULL in which case it will not be possible for the application to -query the status of this command or queue a wait for this command to -complete.</p> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> @@ -830,53 +849,56 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This function is used to release OpenCL memory objects that have been -created from EGL resources. The EGL objects are released by the OpenCL -context associated with <em>command_queue</em>.</p> +<p>The EGL objects are released by the OpenCL context associated with +<command_queue>.</p> </div> <div class="paragraph"> <p>OpenCL memory objects created from EGL resources which have been acquired by OpenCL must be released by OpenCL before they may be accessed by EGL or by -EGL client APIs.</p> -</div> -<div class="paragraph"> -<p>Accessing a EGL resource while its corresponding OpenCL memory object is +EGL client APIs. +Accessing a EGL resource while its corresponding OpenCL memory object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. If -<em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and -returns <code>CL_SUCCESS</code>. Otherwise, it returns one of the following errors:</p> +<p><strong>clEnqueueReleaseEGLObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> then the function does +nothing and returns <code>CL_SUCCESS</code>. +Otherwise it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if num_objects > 0 and mem_objects is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects in the context associated with <em>command_queue</em>.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects in the context associated with <em>command_queue</em>.</p> </li> <li> -<p><code>CL_INVALID_EGL_OBJECT_KHR</code> if memory objects in <em>mem_objects</em> have not been created from EGL resources.</p> +<p><code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code> if memory objects in <em>mem_objects</em> have not +been created from EGL resources.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not NULL and <em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -886,10 +908,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a>, -<a href="clEnqueueAcquireEGLObjectsKHR.html">clEnqueueAcquireEGLObjectsKHR</a>, -<a href="clCreateFromEGLImageKHR.html">clCreateFromEGLImageKHR</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_egl_image.html">cl_khr_egl_image</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -897,10 +916,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseEGLObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -908,7 +928,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -918,8 +938,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseExternalMemObjectsKHR.html b/sdk/3.0/docs/man/html/clEnqueueReleaseExternalMemObjectsKHR.html new file mode 100644 index 0000000..2c74db3 --- /dev/null +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseExternalMemObjectsKHR.html
@@ -0,0 +1,968 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clEnqueueReleaseExternalMemObjectsKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clEnqueueReleaseExternalMemObjectsKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clEnqueueReleaseExternalMemObjectsKHR - Enqueue a command to release OpenCL memory objects created from external memory handles</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enqueue a command to release OpenCL memory objects created from external +memory handles, call the function</p> +</div> +<div id="clEnqueueReleaseExternalMemObjectsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_external_memory +cl_int clEnqueueReleaseExternalMemObjectsKHR( + cl_command_queue command_queue, + cl_uint num_mem_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_queue</em> specifies a valid command-queue.</p> +</li> +<li> +<p><em>num_mem_objects</em> specifies the number of memory objects to release.</p> +</li> +<li> +<p><em>mem_objects</em> points to a list of valid memory objects.</p> +</li> +<li> +<p><em>num_events_in_wait_list</em> specifies the number of events in +<em>event_wait_list</em>.</p> +</li> +<li> +<p><em>event_wait_list</em> points to the list of events that need to complete +before <strong>clEnqueueReleaseExternalMemObjectsKHR</strong> can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then +<strong>clEnqueueReleaseExternalMemObjectsKHR</strong> does not wait on any event to +complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by +<em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points. +The context associated with events in <em>event_wait_list</em> and that of +<em>command_queue</em> must be the same.</p> +</li> +<li> +<p><em>event</em> returns an event object that identifies this particular command +and can be used to query or queue a wait for this particular command to +complete. +<em>event</em> can be <code>NULL</code> in which case it will not be possible for the +application to query the status of this command or queue a wait for this +command to complete.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Applications must release the memory objects that are acquired using +<strong>clEnqueueReleaseExternalMemObjectsKHR</strong> before using them through any +commands in the other API. +This is to guarantee that the state of memory objects is up-to-date and they +are accessible to the other API. +See “Example with Acquire / Release” provided in +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory-Sample-Code" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory-Sample-Code</a> for more details on how to use this +API.</p> +</div> +<div class="paragraph"> +<p>If <em>num_mem_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code>, the command will +trivially succeed after its event dependencies are satisfied and will update +its completion event.</p> +</div> +<div class="paragraph"> +<p><strong>clEnqueueReleaseExternalMemObjectsKHR</strong> returns <code>CL_SUCCESS</code> if the function +is executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_mem_objects</em> is zero and <em>mem_objects</em> is not +a <code>NULL</code> value, or if <em>num_mem_objects</em> is greater than 0 and +<em>mem_objects</em> is <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if any of the memory objects in <em>mem_objects</em> is +not a valid OpenCL memory object created using an external memory +handle.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>command_queue</em> is not a valid command-queue, or</p> +</li> +<li> +<p>if device associated with <em>command_queue</em> is not one of the devices +specified by <code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> at the time of creating +one or more of <em>mem_objects</em>, or</p> +</li> +<li> +<p>if one or more of <em>mem_objects</em> belong to a context that does not +contain a device associated with <em>command_queue</em>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>event_wait_list</em> is <code>NULL</code> and <em>num_events_in_wait_list</em> is not 0, +or</p> +</li> +<li> +<p>if <em>event_wait_list</em> is not <code>NULL</code> and <em>num_events_in_wait_list</em> is 0, +or</p> +</li> +<li> +<p>if event objects in <em>event_wait_list</em> are not valid events.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_EXEC_<wbr>STATUS_<wbr>ERROR_<wbr>FOR_<wbr>EVENTS_<wbr>IN_<wbr>WAIT_<wbr>LIST</code> if the execution status +of any of the events in <em>event_wait_list</em> is a negative integer value.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_external_memory.html">cl_khr_external_memory</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseExternalMemObjectsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clEnqueueReleaseGLObjects.html b/sdk/3.0/docs/man/html/clEnqueueReleaseGLObjects.html index e9d179c..e02ad05 100644 --- a/sdk/3.0/docs/man/html/clEnqueueReleaseGLObjects.html +++ b/sdk/3.0/docs/man/html/clEnqueueReleaseGLObjects.html
@@ -767,22 +767,40 @@ <h1>clEnqueueReleaseGLObjects(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clEnqueueReleaseGLObjects - Release OpenCL memory objects that have been created from OpenGL objects.</p> +<p>clEnqueueReleaseGLObjects - Release OpenCL memory objects created from OpenGL objects</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clEnqueueReleaseGLObjects(cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem *mem_objects, - cl_uint num_events_in_wait_list, - const cl_event *event_wait_list, - cl_event *event)</code></pre> +<div class="paragraph"> +<p>To release OpenCL memory objects that have been created from OpenGL objects, +call the function</p> </div> +<div id="clEnqueueReleaseGLObjects" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_int clEnqueueReleaseGLObjects( + cl_command_queue command_queue, + cl_uint num_objects, + const cl_mem* mem_objects, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueReleaseGLObjects</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -792,62 +810,32 @@ <div class="ulist"> <ul> <li> -<p><em>command_queue</em> - A valid command-queue.</p> -</li> -<li> -<p><em>num_objects</em> - The number of memory objects to be released in +<p><em>num_objects</em> is the number of memory objects to be released in <em>mem_objects</em>.</p> </li> <li> -<p><em>mem_objects</em> - A pointer to a list of CL memory objects that correspond -to GL objects.</p> +<p><em>mem_objects</em> is a pointer to a list of OpenCL memory objects that +correspond to OpenGL objects.</p> </li> <li> -<p><em>num_events_in_wait_list</em> - Number of events in <em>event_wait_list</em>.</p> -</li> -<li> -<p><em>event_wait_list</em> - These parameters specify events that need to -complete before this command can be executed. If <em>event_wait_list</em> is -NULL, then this particular command does not wait on any event to -complete. If <em>event_wait_list</em> is NULL, <em>num_events_in_wait_list</em> must -be 0. If <em>event_wait_list</em> is not NULL, the list of events pointed to by +<p><em>event_wait_list</em> and <em>num_events_in_wait_list</em> specify events that need +to complete before this command can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then this particular command does not +wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by <em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be -greater than 0. The events specified in <em>event_wait_list</em> act as -synchronization points.</p> +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points.</p> </li> <li> -<p><em>event</em> - Returns an event object that identifies this particular -read/write command and can be used to query or queue a wait for the -command to complete. <em>event</em> can be NULL in which case it will not be -possible for the application to query the status of this command or -queue a wait for this command to complete. If <em>event_wait_list</em> and -<em>event</em> are not NULL, <em>event</em> should not refer to an element of the -<em>event_wait_list</em> array.</p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, if an OpenGL context -is bound to the current thread, then then any OpenGL commands which</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>affect or access the contents of the memory objects listed in the -<em>mem_objects</em> list, and</p> -</li> -<li> -<p>are issued on that context after the call to <code>clEnqueueReleaseGLObjects</code></p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>will not execute until after execution of any OpenCL commands preceding the -<code>clEnqueueReleaseGLObjects</code> which affect or access any of those memory -objects. If a non-NULL event object is returned, it will report completion -before execution of such OpenGL commands.</p> -</div> -</div> -</div> +<p><em>event</em> returns an event object that identifies this command and can be +used to query or wait for this command to complete. +If <em>event</em> is <code>NULL</code> or the enqueue is unsuccessful, no event will be +created and therefore it will not be possible to query the status of +this command or to wait for this command to complete. +If <em>event_wait_list</em> and <em>event</em> are not <code>NULL</code>, <em>event</em> must not refer +to an element of the <em>event_wait_list</em> array.</p> </li> </ul> </div> @@ -857,589 +845,76 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Release OpenCL memory objects that have been created from OpenGL objects. -These objects need to be released before they can be used by OpenGL. -The OpenGL objects are released by the OpenCL context associated with <em>command_queue</em>.</p> +<p>If an OpenGL context is bound to the current thread, then then any OpenGL +commands which</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> extension is supported and if an OpenGL context is bound to the current thread, then any OpenGL commands which does:</p> -</div> -<div class="ulist"> -<ul> +<div class="olist arabic"> +<ol class="arabic"> <li> -<p>affect or access the contents of a memory object listed in the <em>mem_objects</em> list, and</p> +<p>affect or access the contents of the memory objects listed in the +<em>mem_objects</em> list, and</p> </li> <li> -<p>are issued on that context after the call to <code>clEnqueueReleaseGLObjects</code></p> +<p>are issued on that context after the call to <strong>clEnqueueReleaseGLObjects</strong></p> </li> -</ul> +</ol> </div> <div class="paragraph"> -<p>will not execute until after execution of any OpenCL commands preceding the <code>clEnqueueReleaseGLObjects</code> which affect or access any of those memory objects. -If a non-NULL <em>event</em> object is returned, it will report completion before execution of such OpenGL commands.</p> +<p>will not execute until after execution of any OpenCL commands preceding the</p> </div> <div class="paragraph"> -<p>General information about GL sharing follows.</p> +<p><strong>clEnqueueReleaseGLObjects</strong> which affect or access any of those memory +objects. +If a non-<code>NULL</code> <em>event</em> object is returned, it will report completion before +execution of such OpenGL commands.</p> </div> <div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> +<p>These objects need to be released before they can be used by OpenGL. +The OpenGL objects are released by the OpenCL context associated with +<em>command_queue</em>.</p> </div> <div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> -</div> -<div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is -successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> -</div> -<div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p><code>clEnqueueReleaseGLObjects</code> returns <code>CL_SUCCESS</code> if the function is executed successfully. -If <em>num_objects</em> is 0 and <em>mem_objects</em> is NULL the function does nothing and returns <code>CL_SUCCESS</code>. +<p><strong>clEnqueueReleaseGLObjects</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +If <em>num_objects</em> is 0 and <em>mem_objects</em> is <code>NULL</code> the function does nothing +and returns <code>CL_SUCCESS</code>. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a NULL value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_objects</em> is zero and <em>mem_objects</em> is not a +<code>NULL</code> value or if <em>num_objects</em> > 0 and <em>mem_objects</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if memory objects in <em>mem_objects</em> are not valid OpenCL memory objects.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> are not valid +OpenCL memory objects.</p> </li> <li> -<p><code>CL_INVALID_COMMAND_QUEUE</code> if <em>command_queue</em> is not a valid command-queue.</p> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid +command-queue.</p> </li> <li> -<p><code>CL_INVALID_CONTEXT</code> if context associated with <em>command_queue</em> was not created from an OpenGL context.</p> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if context associated with <em>command_queue</em> was not +created from an OpenGL context</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if memory objects in <em>mem_objects</em> have not been created from a GL object(s).</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if memory objects in <em>mem_objects</em> have not been +created from an OpenGL object(s).</p> </li> <li> -<p><code>CL_INVALID_EVENT_WAIT_LIST</code> if <em>event_wait_list</em> is NULL and <em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not NULL and <em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> are not valid events.</p> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code> if <em>event_wait_list</em> is <code>NULL</code> and +<em>num_events_in_wait_list</em> > 0, or <em>event_wait_list</em> is not <code>NULL</code> and +<em>num_events_in_wait_list</em> is 0, or if event objects in <em>event_wait_list</em> +are not valid events.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1449,9 +924,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, -<a href="cl_khr_gl_event.html">cl_khr_gl_event</a></p> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem.html">cl_mem</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1459,10 +932,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueReleaseGLObjects" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseGLObjects" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clEnqueueReleaseGLObjects</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1470,7 +944,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1480,8 +954,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMFree.html b/sdk/3.0/docs/man/html/clEnqueueSVMFree.html index 9b30dad..90a7558 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMFree.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMFree.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueSVMFree" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMFree( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clEnqueueSVMFree( cl_command_queue command_queue, cl_uint num_svm_pointers, void* svm_pointers[], @@ -939,7 +940,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -949,8 +950,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMMap.html b/sdk/3.0/docs/man/html/clEnqueueSVMMap.html index 44b8b53..9d01d62 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMMap.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMMap.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueSVMMap" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMMap( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clEnqueueSVMMap( cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags flags, @@ -949,7 +950,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -959,8 +960,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMMemFill.html b/sdk/3.0/docs/man/html/clEnqueueSVMMemFill.html index 6263c8f..86e8cb0 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMMemFill.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMMemFill.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueSVMMemFill" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMMemFill( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clEnqueueSVMMemFill( cl_command_queue command_queue, void* svm_ptr, const void* pattern, @@ -948,7 +949,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -958,8 +959,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMMemcpy.html b/sdk/3.0/docs/man/html/clEnqueueSVMMemcpy.html index a2d5cee..67e52c0 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMMemcpy.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMMemcpy.html
@@ -779,7 +779,8 @@ </div> <div id="clEnqueueSVMMemcpy" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMMemcpy( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clEnqueueSVMMemcpy( cl_command_queue command_queue, cl_bool blocking_copy, void* dst_ptr, @@ -953,7 +954,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -963,8 +964,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMMigrateMem.html b/sdk/3.0/docs/man/html/clEnqueueSVMMigrateMem.html index d0ab8af..fd33f76 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMMigrateMem.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMMigrateMem.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueSVMMigrateMem" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMMigrateMem( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_int clEnqueueSVMMigrateMem( cl_command_queue command_queue, cl_uint num_svm_pointers, const void** svm_pointers, @@ -950,7 +951,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -960,8 +961,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSVMUnmap.html b/sdk/3.0/docs/man/html/clEnqueueSVMUnmap.html index 82238e4..3f8dcd9 100644 --- a/sdk/3.0/docs/man/html/clEnqueueSVMUnmap.html +++ b/sdk/3.0/docs/man/html/clEnqueueSVMUnmap.html
@@ -781,7 +781,8 @@ </div> <div id="clEnqueueSVMUnmap" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueSVMUnmap( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clEnqueueSVMUnmap( cl_command_queue command_queue, void* svm_ptr, cl_uint num_events_in_wait_list, @@ -950,7 +951,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -960,8 +961,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueSignalSemaphoresKHR.html b/sdk/3.0/docs/man/html/clEnqueueSignalSemaphoresKHR.html new file mode 100644 index 0000000..8f13314 --- /dev/null +++ b/sdk/3.0/docs/man/html/clEnqueueSignalSemaphoresKHR.html
@@ -0,0 +1,998 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clEnqueueSignalSemaphoresKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clEnqueueSignalSemaphoresKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clEnqueueSignalSemaphoresKHR - Enqueue a command to signal a set of semaphores</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enqueue a command to signal a set of semaphores, call the function</p> +</div> +<div id="clEnqueueSignalSemaphoresKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_int clEnqueueSignalSemaphoresKHR( + cl_command_queue command_queue, + cl_uint num_sema_objects, + const cl_semaphore_khr* sema_objects, + const cl_semaphore_payload_khr* sema_payload_list, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueSignalSemaphoresKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_queue</em> specifies a valid command-queue.</p> +</li> +<li> +<p><em>num_sema_objects</em> specifies the number of semaphore objects to signal.</p> +</li> +<li> +<p><em>sema_objects</em> points to the list of semaphore objects to signal. +The length of the list must be at least <em>num_sema_objects</em>.</p> +</li> +<li> +<p><em>sema_payload_list</em> points to the list of values of type +<code>cl_semaphore_<wbr>payload_<wbr>khr</code> containing semaphore payload values to +signal. +This can be set to <code>NULL</code> or will be ignored when all semaphores in the +list of <em>sema_objects</em> are of type <code>CL_SEMAPHORE_<wbr>TYPE_<wbr>BINARY_<wbr>KHR</code>.</p> +</li> +<li> +<p><em>num_events_in_wait_list</em> specifies the number of events in</p> +</li> +<li> +<p><em>event_wait_list</em> points to the list of events that need to complete +before <strong>clEnqueueSignalSemaphoresKHR</strong> can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then <strong>clEnqueueSignalSemaphoresKHR</strong> does +not wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by +<em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points. +The context associated with events in <em>event_wait_list</em> and that +associated with <em>command_queue</em> must be the same.</p> +<div class="paragraph"> +<p><em>event</em> returns an event object that identifies this particular command +and can be used to query or queue a wait for this particular command to +complete. +<em>event</em> can be <code>NULL</code>, in which case it will not be possible for the +application to query the status of this command or queue a wait for this +command to complete.</p> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The semaphore signal command waits for a list of events to complete and then +signals a list of semaphore objects. +The semaphore signal command returns an <em>event</em> which can be waited on to +ensure that all events in the <em>event_wait_list</em> have completed and all +semaphores in <em>sema_objects</em> have been signaled. +The successful completion of the event generated by +<strong>clEnqueueSignalSemaphoresKHR</strong> called on one or more semaphore objects of +type <code>CL_SEMAPHORE_<wbr>TYPE_<wbr>BINARY_<wbr>KHR</code> changes the state of the corresponding +semaphore objects to signaled. +<strong>clEnqueueSignalSemaphoresKHR</strong> will not return until the binary semaphores +in <em>sema_objects</em> are in a state that makes them safe to wait on again. +If necessary, implementations may block in <strong>clEnqueueSignalSemaphoresKHR</strong> to +ensure the correct state of semaphores when returning. +There are no implications from this behavior for the state of <em>event</em> or the +events in <em>event_wait_list</em> when <strong>clEnqueueSignalSemaphoresKHR</strong> returns. +Signaling the same binary semaphore twice without an interleaving wait may +lead to undefined behavior.</p> +</div> +<div class="paragraph"> +<p><strong>clEnqueueSignalSemaphoresKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>command_queue</em> is not a valid command-queue, or</p> +</li> +<li> +<p>if the device associated with <em>command_queue</em> is not same as one of the +devices specified by <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> at the time of +creating one or more of <em>sema_objects</em>, or</p> +</li> +<li> +<p>if one or more of <em>sema_objects</em> belong to a context that does not +contain a device associated with <em>command_queue</em>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_sema_objects</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code> if any of the semaphore objects specified by +<em>sema_objects</em> is not valid.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em> and +any of the semaphore objects in <em>sema_objects</em> are not the same, or if +the context associated with <em>command_queue</em> and that associated with +events in <em>event_wait_list</em> are not the same.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if any of the semaphore objects specified by +<em>sema_objects</em> requires a semaphore payload and <em>sema_payload_list</em> is +<code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>event_wait_list</em> is <code>NULL</code> and <em>num_events_in_wait_list</em> is not +0, or</p> +</li> +<li> +<p>if <em>event_wait_list</em> is not <code>NULL</code> and <em>num_events_in_wait_list</em> is +0, or</p> +</li> +<li> +<p>if event objects in <em>event_wait_list</em> are not valid events.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_EXEC_<wbr>STATUS_<wbr>ERROR_<wbr>FOR_<wbr>EVENTS_<wbr>IN_<wbr>WAIT_<wbr>LIST</code> if the execution status +of any of the events in <em>event_wait_list</em> is a negative integer value.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a>, <a href="cl_semaphore_payload_khr.html">cl_semaphore_payload_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueSignalSemaphoresKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clEnqueueTask.html b/sdk/3.0/docs/man/html/clEnqueueTask.html index 1e544e9..5e01132 100644 --- a/sdk/3.0/docs/man/html/clEnqueueTask.html +++ b/sdk/3.0/docs/man/html/clEnqueueTask.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueTask" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueTask( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueTask( cl_command_queue command_queue, cl_kernel kernel, cl_uint num_events_in_wait_list, @@ -967,7 +968,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -977,8 +978,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueUnmapMemObject.html b/sdk/3.0/docs/man/html/clEnqueueUnmapMemObject.html index c2c2b61..1619eae 100644 --- a/sdk/3.0/docs/man/html/clEnqueueUnmapMemObject.html +++ b/sdk/3.0/docs/man/html/clEnqueueUnmapMemObject.html
@@ -780,7 +780,8 @@ </div> <div id="clEnqueueUnmapMemObject" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueUnmapMemObject( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueUnmapMemObject( cl_command_queue command_queue, cl_mem memobj, void* mapped_ptr, @@ -922,7 +923,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -932,8 +933,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueWaitForEvents.html b/sdk/3.0/docs/man/html/clEnqueueWaitForEvents.html index 05a0d13..fdb3683 100644 --- a/sdk/3.0/docs/man/html/clEnqueueWaitForEvents.html +++ b/sdk/3.0/docs/man/html/clEnqueueWaitForEvents.html
@@ -779,7 +779,8 @@ </div> <div id="clEnqueueWaitForEvents" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clEnqueueWaitForEvents( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clEnqueueWaitForEvents( cl_command_queue command_queue, cl_uint num_events, const cl_event* event_list);</code></pre> @@ -879,7 +880,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -889,8 +890,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clEnqueueWaitSemaphoresKHR.html b/sdk/3.0/docs/man/html/clEnqueueWaitSemaphoresKHR.html new file mode 100644 index 0000000..b865147 --- /dev/null +++ b/sdk/3.0/docs/man/html/clEnqueueWaitSemaphoresKHR.html
@@ -0,0 +1,991 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clEnqueueWaitSemaphoresKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clEnqueueWaitSemaphoresKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clEnqueueWaitSemaphoresKHR - Enqueue a command to wait on a set of semaphores</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enqueue a command to wait on a set of semaphores, call the function</p> +</div> +<div id="clEnqueueWaitSemaphoresKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_int clEnqueueWaitSemaphoresKHR( + cl_command_queue command_queue, + cl_uint num_sema_objects, + const cl_semaphore_khr* sema_objects, + const cl_semaphore_payload_khr* sema_payload_list, + cl_uint num_events_in_wait_list, + const cl_event* event_wait_list, + cl_event* event);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clEnqueueWaitSemaphoresKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_queue</em> specifies a valid command-queue.</p> +</li> +<li> +<p><em>num_sema_objects</em> specifies the number of semaphore objects to wait on.</p> +</li> +<li> +<p><em>sema_objects</em> points to the list of semaphore objects to wait on. +The length of the list must be at least <em>num_sema_objects</em>.</p> +</li> +<li> +<p><em>sema_payload_list</em> points to the list of values of type +<code>cl_semaphore_<wbr>payload_<wbr>khr</code> containing valid semaphore payload +values to wait on. +This can be set to <code>NULL</code> or will be ignored when all semaphores in the +list of <em>sema_objects</em> are of type <code>CL_SEMAPHORE_<wbr>TYPE_<wbr>BINARY_<wbr>KHR</code>.</p> +</li> +<li> +<p><em>num_events_in_wait_list</em> specifies the number of events in +<em>event_wait_list</em>.</p> +</li> +<li> +<p><em>event_wait_list</em> specifies list of events that need to complete before +<strong>clEnqueueWaitSemaphoresKHR</strong> can be executed. +If <em>event_wait_list</em> is <code>NULL</code>, then <strong>clEnqueueWaitSemaphoresKHR</strong> does +not wait on any event to complete. +If <em>event_wait_list</em> is <code>NULL</code>, <em>num_events_in_wait_list</em> must be 0. +If <em>event_wait_list</em> is not <code>NULL</code>, the list of events pointed to by +<em>event_wait_list</em> must be valid and <em>num_events_in_wait_list</em> must be +greater than 0. +The events specified in <em>event_wait_list</em> act as synchronization points. +The context associated with events in <em>event_wait_list</em> and that +associated with <em>command_queue</em> must be the same.</p> +</li> +<li> +<p><em>event</em> returns an event object that identifies this particular command +and can be used to query or queue a wait for this particular command to +complete. +<em>event</em> can be <code>NULL</code>, in which case it will not be possible for the +application to query the status of this command or queue a wait for this +command to complete.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The semaphore wait command waits for a list of events to complete and a list +of semaphore objects to become signaled. +The semaphore wait command returns an <em>event</em> which can be waited on to +ensure that all events in the <em>event_wait_list</em> have completed and all +semaphores in <em>sema_objects</em> have been signaled. +<strong>clEnqueueWaitSemaphoresKHR</strong> will not return until the binary semaphores in +<em>sema_objects</em> are in a state that makes them safe to re-signal. +If necessary, implementations may block in <strong>clEnqueueWaitSemaphoresKHR</strong> to +ensure the correct state of semaphores when returning. +There are no implications from this behavior for the state of <em>event</em> or the +events in <em>event_wait_list</em> when <strong>clEnqueueWaitSemaphoresKHR</strong> returns. +Waiting on the same binary semaphore twice without an interleaving signal +may lead to undefined behavior.</p> +</div> +<div class="paragraph"> +<p><strong>clEnqueueWaitSemaphoresKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>command_queue</em> is not a valid command-queue, or</p> +</li> +<li> +<p>if the device associated with <em>command_queue</em> is not same as one of the +devices specified by <code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> at the time +of creating one or more of <em>sema_objects</em>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_sema_objects</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code> if any of the semaphore objects specified by +<em>sema_objects</em> is not valid.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>command_queue</em> and +any of the semaphore objects in <em>sema_objects</em> are not the same, or if +the context associated with <em>command_queue</em> and that associated with +events in <em>event_wait_list</em> are not the same.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if any of the semaphore objects specified by +<em>sema_objects</em> requires a semaphore payload and <em>sema_payload_list</em> is +<code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>EVENT_<wbr>WAIT_<wbr>LIST</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>event_wait_list</em> is <code>NULL</code> and <em>num_events_in_wait_list</em> is not 0, +or</p> +</li> +<li> +<p>if <em>event_wait_list</em> is not <code>NULL</code> and <em>num_events_in_wait_list</em> is 0, +or</p> +</li> +<li> +<p>if event objects in <em>event_wait_list</em> are not valid events.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_EXEC_<wbr>STATUS_<wbr>ERROR_<wbr>FOR_<wbr>EVENTS_<wbr>IN_<wbr>WAIT_<wbr>LIST</code> if the execution status +of any of the events in <em>event_wait_list</em> is a negative integer value.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_event.html">cl_event</a>, <a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a>, <a href="cl_semaphore_payload_khr.html">cl_semaphore_payload_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clEnqueueWaitSemaphoresKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clFinalizeCommandBufferKHR.html b/sdk/3.0/docs/man/html/clFinalizeCommandBufferKHR.html new file mode 100644 index 0000000..1cf217c --- /dev/null +++ b/sdk/3.0/docs/man/html/clFinalizeCommandBufferKHR.html
@@ -0,0 +1,900 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clFinalizeCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clFinalizeCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clFinalizeCommandBufferKHR - Finalize command recording for a command-buffer</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To finalize command recording ready for enqueuinga command-buffer on a +command-queue, call the function</p> +</div> +<div id="clFinalizeCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clFinalizeCommandBufferKHR( + cl_command_buffer_khr command_buffer);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clFinalizeCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><strong>clFinalizeCommandBufferKHR</strong> places the command-buffer in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#executable" target="_blank" rel="noopener">Executable</a> state where commands can no longer be recorded, at +this point the command-buffer is ready to be enqueued.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clFinalizeCommandBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> is not in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#recording" target="_blank" rel="noopener">Recording</a> state.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clFinalizeCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clFinish.html b/sdk/3.0/docs/man/html/clFinish.html index e2deab8..4092f2c 100644 --- a/sdk/3.0/docs/man/html/clFinish.html +++ b/sdk/3.0/docs/man/html/clFinish.html
@@ -779,7 +779,8 @@ </div> <div id="clFinish" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clFinish( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clFinish( cl_command_queue command_queue);</code></pre> </div> </div> @@ -855,7 +856,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -865,8 +866,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clFlush.html b/sdk/3.0/docs/man/html/clFlush.html index 7b785eb..0a2619d 100644 --- a/sdk/3.0/docs/man/html/clFlush.html +++ b/sdk/3.0/docs/man/html/clFlush.html
@@ -779,7 +779,8 @@ </div> <div id="clFlush" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clFlush( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clFlush( cl_command_queue command_queue);</code></pre> </div> </div> @@ -871,7 +872,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -881,8 +882,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetCommandBufferInfoKHR.html b/sdk/3.0/docs/man/html/clGetCommandBufferInfoKHR.html new file mode 100644 index 0000000..668dabb --- /dev/null +++ b/sdk/3.0/docs/man/html/clGetCommandBufferInfoKHR.html
@@ -0,0 +1,994 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clGetCommandBufferInfoKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clGetCommandBufferInfoKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clGetCommandBufferInfoKHR - Query information about a command-buffer</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To query information about a command-buffer, call the function</p> +</div> +<div id="clGetCommandBufferInfoKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clGetCommandBufferInfoKHR( + cl_command_buffer_khr command_buffer, + cl_command_buffer_info_khr param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetCommandBufferInfoKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> specifies the command-buffer being queried.</p> +</li> +<li> +<p><em>param_name</em> specifies the information to query.</p> +</li> +<li> +<p><em>param_value_size</em> specifies the size in bytes of memory pointed to by +<em>param_value</em>. +This size must be ≥ size of return type as described in the table +below. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>param_value</em> is a pointer to a memory location where the appropriate +result being queried is returned. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>param_value_size_ret</em> returns the actual size in bytes of data being +queried by <em>param_value</em>. +If <em>param_value_size_ret</em> is <code>NULL</code>, it is ignored.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The list of supported <em>param_name</em> values and the information returned in +<em>param_value</em> by <strong>clGetCommandBufferInfoKHR</strong> is described in the table below.</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. <strong>clGetCommandBufferInfoKHR</strong> values</caption> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Command Buffer Info</th> +<th class="tableblock halign-left valign-top">Return Type</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>NUM_<wbr>QUEUES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The number of command-queues specified when <em>command_buffer</em> was created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>QUEUES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>queue</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the list of command-queues specified when the + <em>command_buffer</em> was created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>REFERENCE_<wbr>COUNT_<wbr>KHR</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the <em>command_buffer</em> reference count.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>buffer_<wbr>state_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the state of <em>command_buffer</em>.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>RECORDING_<wbr>KHR</code> is returned when + <em>command_buffer</em> has not been finalized.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>EXECUTABLE_<wbr>KHR</code> is returned when + <em>command_buffer</em> has been finalized and there is not a <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#pending" target="_blank" rel="noopener">Pending</a> instance of <em>command_buffer</em> awaiting completion on a + command_queue.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>PENDING_<wbr>KHR</code> is returned when an + instance of <em>command_buffer</em> has been enqueued for execution but not + yet completed.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>PROPERTIES_<wbr>ARRAY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>buffer_<wbr>properties_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the <em>properties</em> argument specified in + <strong>clCreateCommandBufferKHR</strong>.</p> +<p class="tableblock"> If the <em>properties</em> argument specified in <strong>clCreateCommandBufferKHR</strong> + used to create <em>command_buffer</em> was not <code>NULL</code>, the implementation + must return the values specified in the properties argument.</p> +<p class="tableblock"> If the <em>properties</em> argument specified in <strong>clCreateCommandBufferKHR</strong> + used to create <em>command_buffer</em> was <code>NULL</code>, the implementation may + return either a <em>param_value_size_ret</em> of 0 (i.e. there is are no + properties to be returned), or the implementation may return a + property value of 0 (where 0 is used to terminate the properties + list).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>BUFFER_<wbr>CONTEXT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_context</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the context associated with <em>command_buffer</em>.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p><strong>clGetCommandBufferInfoKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>param_name</em> is not one of the supported values or +if size in bytes specified by <em>param_value_size</em> is less than size of +return type and <em>param_value</em> is not a <code>NULL</code> value.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_info_khr.html">cl_command_buffer_info_khr</a>, <a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetCommandBufferInfoKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. The reference count returned should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for identifying memory leaks. +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clGetCommandQueueInfo.html b/sdk/3.0/docs/man/html/clGetCommandQueueInfo.html index cefe181..e4ff226 100644 --- a/sdk/3.0/docs/man/html/clGetCommandQueueInfo.html +++ b/sdk/3.0/docs/man/html/clGetCommandQueueInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetCommandQueueInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetCommandQueueInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetCommandQueueInfo( cl_command_queue command_queue, cl_command_queue_info param_name, size_t param_value_size, @@ -880,7 +881,7 @@ the properties argument in the same order and without including additional properties.</p> <p class="tableblock"> If <em>command_queue</em> was created using <strong>clCreateCommandQueue</strong>, or if the - <em>properties</em> argument specified in clCreateCommandQueueWithProperties} + <em>properties</em> argument specified in <strong>clCreateCommandQueueWithProperties</strong> was <code>NULL</code>, the implementation must return <em>param_value_size_ret</em> equal to 0, indicating that there are no properties to be returned.</p></td> </tr> @@ -954,7 +955,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -970,8 +971,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetContextInfo.html b/sdk/3.0/docs/man/html/clGetContextInfo.html index 466d19c..4d3b2a7 100644 --- a/sdk/3.0/docs/man/html/clGetContextInfo.html +++ b/sdk/3.0/docs/man/html/clGetContextInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetContextInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetContextInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetContextInfo( cl_context context, cl_context_info param_name, size_t param_value_size, @@ -875,6 +876,26 @@ implementation must return <em>param_value_size_ret</em> equal to 0, indicating that there are no properties to be returned.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>D3D10_<wbr>PREFER_<wbr>SHARED_<wbr>RESOURCES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_bool</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <code>CL_TRUE</code> if Direct3D 10 resources created as shared by + setting <em>MiscFlags</em> to include <code>D3D10_RESOURCE_MISC_SHARED</code> will + perform faster when shared with OpenCL, compared with resources which + have not set this flag. + Otherwise returns <code>CL_FALSE</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CONTEXT_<wbr>D3D11_<wbr>PREFER_<wbr>SHARED_<wbr>RESOURCES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_bool</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <code>CL_TRUE</code> if Direct3D 11 resources created as shared by + setting <em>MiscFlags</em> to include <code>D3D11_RESOURCE_MISC_SHARED</code> will + perform faster when shared with OpenCL, compared with resources which + have not set this flag. + Otherwise returns <code>CL_FALSE</code>.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -929,7 +950,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -945,8 +966,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceAndHostTimer.html b/sdk/3.0/docs/man/html/clGetDeviceAndHostTimer.html index 76f4444..b16e845 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceAndHostTimer.html +++ b/sdk/3.0/docs/man/html/clGetDeviceAndHostTimer.html
@@ -779,7 +779,8 @@ </div> <div id="clGetDeviceAndHostTimer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetDeviceAndHostTimer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_int clGetDeviceAndHostTimer( cl_device_id device, cl_ulong* device_timestamp, cl_ulong* host_timestamp);</code></pre> @@ -894,7 +895,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -904,8 +905,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceIDs.html b/sdk/3.0/docs/man/html/clGetDeviceIDs.html index 6ff0634..6c36f9a 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceIDs.html +++ b/sdk/3.0/docs/man/html/clGetDeviceIDs.html
@@ -780,7 +780,8 @@ </div> <div id="clGetDeviceIDs" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetDeviceIDs( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetDeviceIDs( cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, @@ -868,37 +869,31 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>TYPE_<wbr>CUSTOM</code></p> <p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 1.2.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Specialized devices that implement some of the OpenCL runtime APIs but - do not support all required OpenCL functionality.</p></td> + do not support all of the required OpenCL functionality.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>TYPE_<wbr>DEFAULT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The default OpenCL device in the platform. + One device in the platform must be returned as the <code>CL_DEVICE_<wbr>TYPE_<wbr>DEFAULT</code> + device when passed as the <em>device_type</em> to <strong>clGetDeviceIDs</strong>. + <code>CL_DEVICE_<wbr>TYPE_<wbr>DEFAULT</code> is only used to query OpenCL devices using + <strong>clGetDeviceIDs</strong> or to create OpenCL contexts using + <strong>clCreateContextFromType</strong>, and will never be returned in <code>CL_DEVICE_<wbr>TYPE</code> + for any OpenCL device. The default OpenCL device must not be a <code>CL_DEVICE_<wbr>TYPE_<wbr>CUSTOM</code> device.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>TYPE_<wbr>ALL</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">All OpenCL devices available in the platform, except for - <code>CL_DEVICE_<wbr>TYPE_<wbr>CUSTOM</code> devices.</p></td> + <code>CL_DEVICE_<wbr>TYPE_<wbr>CUSTOM</code> devices. + <code>CL_DEVICE_<wbr>TYPE_<wbr>ALL</code> is only used to query OpenCL devices using + <strong>clGetDeviceIDs</strong> or to create OpenCL contexts using + <strong>clCreateContextFromType</strong>, and will never be returned in <code>CL_DEVICE_<wbr>TYPE</code> + for any OpenCL device.</p></td> </tr> </tbody> </table> <div class="paragraph"> -<p>The device type is purely informational and has no semantic meaning.</p> -</div> -<div class="paragraph"> -<p>Some devices may be more than one type. -For example, a <code>CL_DEVICE_<wbr>TYPE_<wbr>CPU</code> device may also be a -<code>CL_DEVICE_<wbr>TYPE_<wbr>GPU</code> device, or a <code>CL_DEVICE_<wbr>TYPE_<wbr>ACCELERATOR</code> device -may also be some other, more descriptive device type. -<code>CL_DEVICE_<wbr>TYPE_<wbr>CUSTOM</code> devices must not be combined with any other -device types.</p> -</div> -<div class="paragraph"> -<p>One device in the platform should be a <code>CL_DEVICE_<wbr>TYPE_<wbr>DEFAULT</code> device. -The default device should also be a more specific device type, such -as <code>CL_DEVICE_<wbr>TYPE_<wbr>CPU</code> or <code>CL_DEVICE_<wbr>TYPE_<wbr>GPU</code>.</p> -</div> -<div class="paragraph"> <p><strong>clGetDeviceIDs</strong> returns <code>CL_SUCCESS</code> if the function is executed successfully. Otherwise, it returns one of the following errors:</p> @@ -960,7 +955,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -976,8 +971,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D10KHR.html b/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D10KHR.html index fe02026..9a89444 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D10KHR.html +++ b/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D10KHR.html
@@ -767,23 +767,41 @@ <h1>clGetDeviceIDsFromD3D10KHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetDeviceIDsFromD3D10KHR - Querying OpenCL Devices Corresponding to Direct3D 10 Devices.</p> +<p>clGetDeviceIDsFromD3D10KHR - Query OpenCL devices corresponding to a Direct3D 10 or DXGI device</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetDeviceIDsFromD3D10KHR(cl_platform_id platform, - cl_d3d10_device_source_khr d3d_device_source, - void *d3d_object, - cl_d3d10_device_set_khr d3d_device_set, - cl_uint num_entries, - cl_device_id *devices, - cl_uint *num_devices)</code></pre> +<div class="paragraph"> +<p>To query OpenCL devices corresponding to a Direct3D 10 device or a DXGI +device, call the function</p> </div> +<div id="clGetDeviceIDsFromD3D10KHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d10_sharing +cl_int clGetDeviceIDsFromD3D10KHR( + cl_platform_id platform, + cl_d3d10_device_source_khr d3d_device_source, + void* d3d_object, + cl_d3d10_device_set_khr d3d_device_set, + cl_uint num_entries, + cl_device_id* devices, + cl_uint* num_devices);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetDeviceIDsFromD3D10KHR</strong> is provided by the <code>cl_khr_d3d10_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -793,108 +811,44 @@ <div class="ulist"> <ul> <li> -<p><em>platform</em> - Refers to the platform ID returned by -<a href="clGetPlatformIDs.html">clGetPlatformIDs</a>.</p> +<p><em>platform</em> refers to the platform ID returned by <strong>clGetPlatformIDs</strong>.</p> </li> <li> -<p><em>d3d_device_source</em> - Specifies the type of <em>d3d_object</em> and may be one -of the following:.</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_d3d_device_source_khr</th> -<th class="tableblock halign-left valign-top">Type of <em>d3d_object</em></th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_D3D10_DEVICE_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>ID3D10Device</code> *</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_D3D10_DXGI_ADAPTER_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>IDXGIAdapter</code> *</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>d3d_device_source</em> specifies the type of <em>d3d_object</em>, and must be one +of the values shown in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d10-device-object-types-table" target="_blank" rel="noopener">Direct3D +10 object types that may be used by <strong>clGetDeviceIDsFromD3D10KHR</strong></a> +table.</p> </li> <li> -<p><em>d3d_object</em> - Specifies the object whose corresponding OpenCL devices -are being queried. The type of <em>d3d_object</em> must be as specified in the -table above.</p> +<p><em>d3d_object</em> specifies the object whose corresponding OpenCL devices are +being queried. +The type of <em>d3d_object</em> must be as specified in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d10-device-object-types-table" target="_blank" rel="noopener">Direct3D 10 object types that may be +used by <strong>clGetDeviceIDsFromD3D10KHR</strong></a> table.</p> </li> <li> -<p>d3d_device_set* - Specifies the set of devices to return, and must be -one of the following:</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_d3d_device_set_khr</th> -<th class="tableblock halign-left valign-top">Devices returned in <em>devices</em></th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_PREFERRED_DEVICES_FOR_D3D10_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>The OpenCL devices associated with the specified Direct3D object.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ALL_DEVICES_FOR_D3D10_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>All OpenCL devices which may interoperate with the specified Direct3D object. - Performance of sharing data on these devices may be considerably less than on the preferred devices.</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>d3d_device_set</em> specifies the set of devices to return, and must be one +of the values shown in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d10-device-sets-table" target="_blank" rel="noopener">Sets of devices +queriable using <strong>clGetDeviceIDsFromD3D10KHR</strong></a> table.</p> </li> <li> -<p><em>num_entries</em> - The number of <code>cl_device_id</code> entries that can be added -to <em>devices</em>. If <em>devices</em> is not NULL, the <em>num_entries</em> must be -greater than zero.</p> +<p><em>num_entries</em> is the number of <code>cl_device_<wbr>id</code> entries that can be +added to <em>devices</em>. +If <em>devices</em> is not <code>NULL</code> then <em>num_entries</em> must be greater than zero.</p> </li> <li> -<p><em>devices</em> - Returns a list of OpenCL devices found. The <code>cl_device_id</code> -values returned in <em>devices</em> can be used to identify a specific OpenCL -device. If <em>devices</em> is NULL, this argument is ignored. The number of -OpenCL devices returned is the mininum of the value specified by -<em>num_entries</em> and the number of OpenCL devices corresponding to -<em>d3d_object</em>.</p> +<p><em>devices</em> returns a list of OpenCL devices found. +The <code>cl_device_<wbr>id</code> values returned in <em>devices</em> can be used to +identify a specific OpenCL device. +If <em>devices</em> is <code>NULL</code>, this argument is ignored. +The number of OpenCL devices returned is the minimum of the value +specified by <em>num_entries</em> and the number of OpenCL devices +corresponding to <em>d3d_object</em>.</p> </li> <li> -<p><em>num_devices</em> - Returns the number of OpenCL devices available that -correspond to <em>d3d_object</em>. If <em>num_devices</em> is NULL, this argument is -ignored.</p> +<p><em>num_devices</em> returns the number of OpenCL devices available that +correspond to <em>d3d_object</em>. +If <em>num_devices</em> is <code>NULL</code>, this argument is ignored.</p> </li> </ul> </div> @@ -903,87 +857,79 @@ <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> +<table id="d3d10-device-object-types-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Direct3D 10 object types that may be used by <strong>clGetDeviceIDsFromD3D10KHR</strong></caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><code>cl_d3d10_<wbr>device_<wbr>source_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Type of <em>d3d_object</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_D3D10_<wbr>DEVICE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D10Device *</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_D3D10_<wbr>DXGI_<wbr>ADAPTER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDXGIAdapter *</code></p></td> +</tr> +</tbody> +</table> +<table id="d3d10-device-sets-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Sets of devices queriable using <strong>clGetDeviceIDsFromD3D10KHR</strong></caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><code>cl_d3d10_<wbr>device_<wbr>set_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Devices returned in <em>devices</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>D3D10_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The preferred OpenCL devices associated with the specified Direct3D + object.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>D3D10_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">All OpenCL devices which may interoperate with the specified Direct3D + object. + Performance of sharing data on these devices may be considerably less + than on the preferred devices.</p></td> +</tr> +</tbody> +</table> <div class="paragraph"> -<p>The OpenCL devices corresponding to a Direct3D 10 device may be queried. -The OpenCL devices corresponding to a DXGI adapter may also be queried. -The OpenCL devices corresponding to a Direct3D 10 device will be a subset of the OpenCL devices corresponding to the DXGI adapter against which the Direct3D 10 device was created.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> -</div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -Otherwise it may return:</p> +<p><strong>clGetDeviceIDsFromD3D10KHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise it may return</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_PLATFORM</code> if <em>platform</em> is not a valid platform.</p> +<p><code>CL_INVALID_<wbr>PLATFORM</code> if <em>platform</em> is not a valid platform.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>d3d_device_source</em> is not a valid value, <em>d3d_device_set</em> is not a valid value, <em>num_entries</em> is equal to zero and <em>devices</em> is not NULL, or if both <em>num_devices</em> and <em>devices</em> are NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>d3d_device_source</em> is not a valid value, +<em>d3d_device_set</em> is not a valid value, <em>num_entries</em> is equal to zero +and <em>devices</em> is not <code>NULL</code>, or if both <em>num_devices</em> and <em>devices</em> are +<code>NULL</code>.</p> </li> <li> -<p><code>CL_DEVICE_NOT_FOUND</code> if no OpenCL devices that correspond to <em>d3d_object</em> were found.</p> +<p><code>CL_DEVICE_<wbr>NOT_<wbr>FOUND</code> if no OpenCL devices that correspond to +<em>d3d_object</em> were found.</p> </li> </ul> </div> @@ -993,12 +939,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, -<a href="clCreateFromD3D10BufferKHR.html">clCreateFromD3D10BufferKHR</a>, -<a href="clCreateFromD3D10Texture2DKHR.html">clCreateFromD3D10Texture2DKHR</a>, -<a href="clCreateFromD3D10Texture3DKHR.html">clCreateFromD3D10Texture3DKHR</a>, -<a href="clEnqueueAcquireD3D10ObjectsKHR.html">clEnqueueAcquireD3D10ObjectsKHR</a>, -<a href="clEnqueueReleaseD3D10ObjectsKHR.html">clEnqueueReleaseD3D10ObjectsKHR</a></p> +<p><a href="cl_d3d10_device_set_khr.html">cl_d3d10_device_set_khr</a>, <a href="cl_d3d10_device_source_khr.html">cl_d3d10_device_source_khr</a>, <a href="cl_device_id.html">cl_device_id</a>, <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a>, <a href="cl_platform_id.html">cl_platform_id</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1006,10 +947,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetDeviceIDsFromD3D10KHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromD3D10KHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromD3D10KHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1017,7 +959,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1027,8 +969,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D11KHR.html b/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D11KHR.html index 8821df2..13bd016 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D11KHR.html +++ b/sdk/3.0/docs/man/html/clGetDeviceIDsFromD3D11KHR.html
@@ -767,23 +767,41 @@ <h1>clGetDeviceIDsFromD3D11KHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetDeviceIDsFromD3D11KHR - Querying OpenCL Devices Corresponding to Direct3D 11 Devices.</p> +<p>clGetDeviceIDsFromD3D11KHR - Query OpenCL devices corresponding to a Direct3D 11 or DXGI device</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetDeviceIDsFromD3D11KHR(cl_platform_id platform, - cl_d3d11_device_source_khr d3d_device_source, - void *d3d_object, - cl_d3d11_device_set_khr d3d_device_set, - cl_uint num_entries, - cl_device_id *devices, - cl_uint *num_devices)</code></pre> +<div class="paragraph"> +<p>To query OpenCL devices corresponding to a Direct3D 11 device or a DXGI +device, call the function</p> </div> +<div id="clGetDeviceIDsFromD3D11KHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_d3d11_sharing +cl_int clGetDeviceIDsFromD3D11KHR( + cl_platform_id platform, + cl_d3d11_device_source_khr d3d_device_source, + void* d3d_object, + cl_d3d11_device_set_khr d3d_device_set, + cl_uint num_entries, + cl_device_id* devices, + cl_uint* num_devices);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetDeviceIDsFromD3D11KHR</strong> is provided by the <code>cl_khr_d3d11_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -793,109 +811,44 @@ <div class="ulist"> <ul> <li> -<p><em>platform</em> - Refers to the platform ID returned by -<a href="clGetPlatformIDs.html">clGetPlatformIDs</a>.</p> +<p><em>platform</em> refers to the platform ID returned by <strong>clGetPlatformIDs</strong>.</p> </li> <li> -<p><em>d3d_device_source</em> - Specifies the type of <em>d3d_object</em> and may be one -of the following (Table 9.11.1):</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_d3d_device_source_khr</th> -<th class="tableblock halign-left valign-top">Type of <em>d3d_object</em></th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_D3D11_DEVICE_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>ID3D11Device *</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_D3D11_DXGI_ADAPTER_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>IDXGIAdapter *</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>d3d_device_source</em> specifies the type of <em>d3d_object</em>, and must be one +of the values shown in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d11-device-object-types-table" target="_blank" rel="noopener">Direct3D +11 object types that may be used by <strong>clGetDeviceIDsFromD3D11KHR</strong></a> +table.</p> </li> <li> -<p><em>d3d_object</em> - Specifies the object whose corresponding OpenCL devices -are being queried. The type of <em>d3d_object</em> must be as specified in the -table above.</p> +<p><em>d3d_object</em> specifies the object whose corresponding OpenCL devices are +being queried. +The type of <em>d3d_object</em> must be as specified in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d11-device-object-types-table" target="_blank" rel="noopener">Direct3D 11 object types that may be +used by <strong>clGetDeviceIDsFromD3D11KHR</strong></a> table.</p> </li> <li> -<p><em>d3d_device_set</em> - Specifies the set of devices to return, and must be -one of the following (Table 9.11.2):</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_d3d_device_set_khr</th> -<th class="tableblock halign-left valign-top">Devices returned in <em>devices</em></th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_PREFERRED_DEVICES_FOR_D3D11_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>The OpenCL devices associated with the specified Direct3D object.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ALL_DEVICES_FOR_D3D11_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>All OpenCL devices which may interoperate with the specified Direct3D - object. Performance of sharing data on these devices may be - considerably less than on the preferred devices.</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>d3d_device_set</em> specifies the set of devices to return, and must be one +of the values shown in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#d3d11-device-sets-table" target="_blank" rel="noopener">Sets of devices +queriable using <strong>clGetDeviceIDsFromD3D11KHR</strong></a> table.</p> </li> <li> -<p><em>num_entries</em> - The number of <code>cl_device_id</code> entries that can be added -to <em>devices</em>. If <em>devices</em> is not NULL, the <em>num_entries</em> must be -greater than zero.</p> +<p><em>num_entries</em> is the number of <code>cl_device_<wbr>id</code> entries that can be +added to <em>devices</em>. +If <em>devices</em> is not <code>NULL</code> then <em>num_entries</em> must be greater than zero.</p> </li> <li> -<p><em>devices</em> - Returns a list of OpenCL devices found. The <code>cl_device_id</code> -values returned in <em>devices</em> can be used to identify a specific OpenCL -device. If <em>devices</em> is NULL, this argument is ignored. The number of -OpenCL devices returned is the mininum of the value specified by -<em>num_entries</em> and the number of OpenCL devices corresponding to -<em>d3d_object</em>.</p> +<p><em>devices</em> returns a list of OpenCL devices found. +The <code>cl_device_<wbr>id</code> values returned in <em>devices</em> can be used to +identify a specific OpenCL device. +If <em>devices</em> is <code>NULL</code>, this argument is ignored. +The number of OpenCL devices returned is the minimum of the value +specified by <em>num_entries</em> and the number of OpenCL devices +corresponding to <em>d3d_object</em>.</p> </li> <li> -<p><em>num_devices</em> - Returns the number of OpenCL devices available that -correspond to <em>d3d_object</em>. If <em>num_devices</em> is NULL, this argument is -ignored.</p> +<p><em>num_devices</em> returns the number of OpenCL devices available that +correspond to <em>d3d_object</em>. +If <em>num_devices</em> is <code>NULL</code>, this argument is ignored.</p> </li> </ul> </div> @@ -904,90 +857,79 @@ <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> +<table id="d3d11-device-object-types-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Direct3D 11 object types that may be used by <strong>clGetDeviceIDsFromD3D11KHR</strong></caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><code>cl_d3d11_<wbr>device_<wbr>source_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Type of <em>d3d_object</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_D3D11_<wbr>DEVICE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D11Device *</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_D3D11_<wbr>DXGI_<wbr>ADAPTER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDXGIAdapter *</code></p></td> +</tr> +</tbody> +</table> +<table id="d3d11-device-sets-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Sets of devices queriable using <strong>clGetDeviceIDsFromD3D11KHR</strong></caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><code>cl_d3d11_<wbr>device_<wbr>set_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Devices returned in <em>devices</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>D3D11_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The preferred OpenCL devices associated with the specified Direct3D + object.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>D3D11_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">All OpenCL devices which may interoperate with the specified Direct3D + object. + Performance of sharing data on these devices may be considerably less + than on the preferred devices.</p></td> +</tr> +</tbody> +</table> <div class="paragraph"> -<p>The OpenCL devices corresponding to a Direct3D 11 device may be queried. -The OpenCL devices corresponding to a DXGI adapter may also be queried. -The OpenCL devices corresponding to a Direct3D 11 device will be a subset of the OpenCL devices corresponding to the DXGI adapter against which the Direct3D 11 device was created.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<div class="title">Sharing Memory Objects with Direct3D 11 Resources</div> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 11. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d11.h</code>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -Direct3D 11 resources as OpenCL memory objects. This allows efficient -sharing of data between OpenCL and Direct3D 11. The OpenCL API may be used -to execute kernels that read and/or write memory objects that are also -Direct3D 11 resources. An OpenCL image object may be created from a Direct3D -11 texture resource. An OpenCL buffer object may be created from a Direct3D -11 buffer resource. OpenCL memory objects may be created from Direct3D 11 -objects if and only if the OpenCL context has been created from a Direct3D -11 device.</p> -</div> -<div class="paragraph"> -<div class="title">Lifetime of Shared Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as -long as the corresponding Direct3D 11 resource has not been deleted. If the -Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> -</div> -<div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 11 device -specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 11 device. The internal Direct3D reference count on that Direct3D -11 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> -</div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 11 device from which the OpenCL context was -created. If the Direct3D 11 device is deleted through the Direct3D 11 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> -</div> -<div class="paragraph"> -<p>Properties of Direct3D 11 objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_D3D11_RESOURCE_KHR</code> and <code>CL_IMAGE_D3D11_SUBRESOURCE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. -Otherwise it may return:</p> +<p><strong>clGetDeviceIDsFromD3D11KHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise it may return</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_PLATFORM</code> if <em>platform</em> is not a valid platform.</p> +<p><code>CL_INVALID_<wbr>PLATFORM</code> if <em>platform</em> is not a valid platform.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>d3d_device_source</em> is not a valid value, <em>d3d_device_set</em> is not a valid value, <em>num_entries</em> is equal to zero and <em>devices</em> is not NULL, or if both <em>num_devices</em> and <em>devices</em> are NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>d3d_device_source</em> is not a valid value, +<em>d3d_device_set</em> is not a valid value, <em>num_entries</em> is equal to zero +and <em>devices</em> is not <code>NULL</code>, or if both <em>num_devices</em> and <em>devices</em> are +<code>NULL</code>.</p> </li> <li> -<p><code>CL_DEVICE_NOT_FOUND</code> if no OpenCL devices that correspond to <em>d3d_object</em> were found.</p> +<p><code>CL_DEVICE_<wbr>NOT_<wbr>FOUND</code> if no OpenCL devices that correspond to +<em>d3d_object</em> were found.</p> </li> </ul> </div> @@ -997,7 +939,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a></p> +<p><a href="cl_d3d11_device_set_khr.html">cl_d3d11_device_set_khr</a>, <a href="cl_d3d11_device_source_khr.html">cl_d3d11_device_source_khr</a>, <a href="cl_device_id.html">cl_device_id</a>, <a href="cl_khr_d3d11_sharing.html">cl_khr_d3d11_sharing</a>, <a href="cl_platform_id.html">cl_platform_id</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1005,10 +947,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetDeviceIDsFromD3D11KHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromD3D10KHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromD3D10KHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1016,7 +959,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1026,8 +969,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceIDsFromDX9MediaAdapterKHR.html b/sdk/3.0/docs/man/html/clGetDeviceIDsFromDX9MediaAdapterKHR.html index 71d0bd2..21bce9f 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceIDsFromDX9MediaAdapterKHR.html +++ b/sdk/3.0/docs/man/html/clGetDeviceIDsFromDX9MediaAdapterKHR.html
@@ -767,24 +767,42 @@ <h1>clGetDeviceIDsFromDX9MediaAdapterKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetDeviceIDsFromDX9MediaAdapterKHR - Query a media adapter for any associated OpenCL devices.</p> +<p>clGetDeviceIDsFromDX9MediaAdapterKHR - Query media adapter for any associated OpenCL devices</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetDeviceIDsFromDX9MediaAdapterKHR(cl_platform_id platform, - cl_uint num_media_adapters, - cl_dx9_media_adapter_type_khr *media_adapters_type, - void *media_adapters, - cl_dx9_media_adapter_set_khr media_adapter_set, - cl_uint num_entries, - cl_device_id *devices, - cl_int *num_devices)</code></pre> +<div class="paragraph"> +<p>To query a media adapter for any associated OpenCL devices, call the +function</p> </div> +<div id="clGetDeviceIDsFromDX9MediaAdapterKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_dx9_media_sharing +cl_int clGetDeviceIDsFromDX9MediaAdapterKHR( + cl_platform_id platform, + cl_uint num_media_adapters, + cl_dx9_media_adapter_type_khr* media_adapter_type, + void* media_adapters, + cl_dx9_media_adapter_set_khr media_adapter_set, + cl_uint num_entries, + cl_device_id* devices, + cl_uint* num_devices);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetDeviceIDsFromDX9MediaAdapterKHR</strong> is provided by the <code>cl_khr_dx9_media_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -794,125 +812,47 @@ <div class="ulist"> <ul> <li> -<p><em>platform</em> - Refers to the platform ID returned by -<a href="clGetPlatformIDs.html">clGetPlatformIDs</a>.</p> +<p><em>platform</em> refers to the platform ID returned by <strong>clGetPlatformIDs</strong>.</p> </li> <li> -<p><em>num_media_adapters</em> - Specifies the number of media adapters.</p> +<p><em>num_media_adapters</em> specifies the number of media adapters.</p> </li> <li> -<p><em>media_adapters_type</em> - An array of <em>num_media_adapters</em> entries. Each -entry specifies the type of media adapter and must be one of the values -described in the table (Table 9.10.1) below.</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_dx9_media_adapter_type_khr</th> -<th class="tableblock halign-left valign-top">Type of media adapters</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ADAPTER_D3D9_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>IDirect3DDevice9 *</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ADAPTER_D3D9EX_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>IDirect3DDevice9Ex *</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ADAPTER_DXVA_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>IDXVAHD_Device *</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>media_adapters_type</em> is an array of <em>num_media_adapters</em> entries. +Each entry specifies the type of media adapter and must be one of the +values described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dx9-media-adapter-types" target="_blank" rel="noopener">media adapter type +table</a> below.</p> </li> <li> -<p><em>media_adapters</em> - An array of <em>num_media_adapters</em> entries. Each entry -specifies the actual adapter whose type is specified by -<code>media_adapter_type</code>. The <em>media_adapters</em> must be one of the types -describes in the table above.</p> +<p><em>media_adapters</em> is an array of <em>num_media_adapters</em> entries. +Each entry specifies the actual adapter whose type is specified by +<em>media_adapter_type</em>. +The <em>media_adapters</em> must be one of the types described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dx9-media-adapter-types" target="_blank" rel="noopener">cl_dx9_media_adapter_type_khr values</a> +table.</p> </li> <li> -<p><em>media_adapter_set</em> - Specifies the set of adapters to return and must -be one of the values described in the table (Table 9.10.2) below.</p> -<div class="openblock"> -<div class="content"> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_dx9_media_adapter_set_khr</th> -<th class="tableblock halign-left valign-top">Description</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_PREFERRED_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>The preferred OpenCL devices associated with the media adapter.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ALL_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_ALL_DEVICES_FOR_MEDIA_DX9_ADAPTER_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>All OpenCL devices that may interoperate with the media adapter.</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> +<p><em>media_adapter_set</em> specifies the set of adapters to return and must be +one of the values described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#dx9-media-adapter-sets" target="_blank" rel="noopener">cl_dx9_media_adapter_set_khr values</a> table.</p> </li> <li> -<p><em>num_entries</em> - The number of cl_device_id entries that can be added to -<em>devices</em>. If <em>devices</em> is not NULL, the <em>num_entries</em> must be greater -than zero.</p> +<p><em>num_entries</em> is the number of <code>cl_device_<wbr>id</code> entries that can be +added to <em>devices</em>. +If <em>devices</em> is not <code>NULL</code>, the <em>num_entries</em> must be greater than zero.</p> </li> <li> -<p><em>devices</em> - Returns a list of OpenCL devices found that support the list -of media adapters specified. The <code>cl_device_id</code> values returned in -<em>devices</em> can be used to identify a specific OpenCL device. If <em>devices</em> -is NULL, this argument is ignored. The number of OpenCL devices returned -is the minimum of the value specified by <em>num_entries</em> or the number of -OpenCL devices whose type matches <code>device_type</code>.</p> +<p><em>devices</em> returns a list of OpenCL devices found that support the list +of media adapters specified. +The <code>cl_device_<wbr>id</code> values returned in <em>devices</em> can be used to +identify a specific OpenCL device. +If <em>devices</em> argument is <code>NULL</code>, this argument is ignored. +The number of OpenCL devices returned is the minimum of the value +specified by <em>num_entries</em> or the number of OpenCL devices whose type +matches <em>device_type</em>.</p> </li> <li> -<p><em>num_devices</em> - Returns the number of OpenCL devices. If <em>num_devices</em> -is NULL, this argument is ignored.</p> +<p><em>num_devices</em> returns the number of OpenCL devices. +If <em>num_devices</em> is <code>NULL</code>, this argument is ignored.</p> </li> </ul> </div> @@ -921,299 +861,97 @@ <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> -<div class="paragraph"> -<p>Queries a media adapter for any associated OpenCL devices. -Adapters with associated OpenCL devices can enable media surface sharing between the two.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>General information about sharing memory objects with DX9 follows.</p> -</div> -<div class="paragraph"> -<p>The goal of this extension is to allow applications to use media surfaces as -OpenCL memory objects. This allows efficient sharing of data between OpenCL -and selected adapter APIs (only DX9 for now). If this extension is -supported, an OpenCL image object can be created from a media surface and -the OpenCL API can be used to execute kernels that read and/or write memory -objects that are media surfaces. Note that OpenCL memory objects may be -created from the adapter media surface if and only if the OpenCL context has -been created from that adapter.</p> -</div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string -"cl_khr_dx9_media_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> -(see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> -</div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_dx9_media_sharing.h</code>.</p> -</div> -<div class="paragraph"> -<div class="title">Surface formats for Media Surface Sharing</div> -<p>This section includes the D3D surface formats that are supported when the -adapter type is one of the Direct 3D lineage. Using a D3D surface format not -listed here is an error. To extend the use of this extension to support -media adapters beyond DirectX9 tables similar to the ones in this section -will need to be defined for the surface formats supported by the new media -adapter. All implementations that support this extension are required to -support the NV12 surface format, the other surface formats supported are the -same surface formats that the adapter you are sharing with supports as long -as they are listed in the tables below (Tables 9.10.3 and 9.10.4).</p> -</div> -<table class="tableblock frame-all grid-all stretch"> +<table id="dx9-media-adapter-types" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. DirectX 9 object types that may be used by <strong>clGetDeviceIDsFromDX9MediaAdapterKHR</strong></caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top">FOUR CC code</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<th class="tableblock halign-left valign-top"><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>type_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Type of Media Adapter</th> </tr> </thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ADAPTER_<wbr>D3D9_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDirect3DDevice9 *</code></p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ADAPTER_<wbr>D3D9EX_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDirect3DDevice9Ex *</code></p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ADAPTER_<wbr>DXVA_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IDXVAHD_Device *</code></p></td> </tr> </tbody> </table> -<div class="paragraph"> -<p>In the table above, NV12 Plane 0 corresponds to the luminance (Y) channel -and Plane 1 corresponds to the UV channels. The YV12 Plane 0 corresponds to -the Y channel, Plane 1 to the U channel and Plane 2 to the V channel. Note -that the YUV formats map to <code>CL_R</code> and <code>CL_RG</code> but do not perform any YUV to -RGB conversion and vice-versa.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> +<table id="dx9-media-adapter-sets" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Sets of devices queriable using <strong>clGetDeviceIDsFromDX9MediaAdapterKHR</strong></caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top">D3D format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> +<th class="tableblock halign-left valign-top"><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>set_<wbr>khr</code></th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The preferred OpenCL devices associated with the media adapter.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_A, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A32B32G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">All OpenCL devices that may interoperate with the media adapter</p></td> </tr> </tbody> </table> <div class="paragraph"> -<p>Note that D3D9 format names seem to imply that the order of the color -channels are switched relative to OpenCL but this is not the case. For -example, layout of channels for each pixel for <code>D3DFMT_A32FB32FG32FR32F</code> is -the same as <code>CL_RGBA</code>, <code>CL_FLOAT</code>.</p> -</div> -<div class="paragraph"> -<p>Properties of media surface objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR</code>, <code>CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR</code> and -<code>CL_IMAGE_DX9_MEDIA_SURFACE_PLANE_KHR</code>.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. +<p><strong>clGetDeviceIDsFromDX9MediaAdapterKHR</strong> returns <code>CL_SUCCESS</code> if the function +is executed successfully. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_PLATFORM</code> if <em>platform</em> is not a valid platform.</p> +<p><code>CL_INVALID_<wbr>PLATFORM</code> if <em>platform</em> is not a valid platform.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_media_adapters</em> is zero or if <em>media_adapters_type</em> is NULL or if <em>media_adapters</em> is NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_media_adapters</em> is zero or if +<em>media_adapters_type</em> is <code>NULL</code> or if <em>media_adapters</em> is <code>NULL</code>.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if any of the entries in <em>media_adapters_type</em> or <em>media_adapters</em> is not a valid value.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if any of the entries in <em>media_adapters_type</em> or +<em>media_adapters</em> is not a valid value.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>media_adapter_set</em> is not a valid value.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>media_adapter_set</em> is not a valid value.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_entries</em> is equal to zero and <em>devices</em> is not NULL or if both <em>num_devices</em> and <em>devices</em> are NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_entries</em> is equal to zero and <em>devices</em> is +not <code>NULL</code> or if both <em>num_devices</em> and <em>devices</em> are <code>NULL</code>.</p> </li> <li> -<p><code>CL_DEVICE_NOT_FOUND</code> if no OpenCL devices that correspond to adapters specified in <em>media_adapters</em> and <em>media_adapters_type</em> were found.</p> +<p><code>CL_DEVICE_<wbr>NOT_<wbr>FOUND</code> if no OpenCL devices that correspond to adapters +specified in <em>media_adapters</em> and <em>media_adapters_type</em> were found.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -1223,7 +961,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a></p> +<p><a href="cl_device_id.html">cl_device_id</a>, <a href="cl_dx9_media_adapter_set_khr.html">cl_dx9_media_adapter_set_khr</a>, <a href="cl_dx9_media_adapter_type_khr.html">cl_dx9_media_adapter_type_khr</a>, <a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a>, <a href="cl_platform_id.html">cl_platform_id</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -1231,10 +969,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetDeviceIDsFromDX9MediaAdapterKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromDX9MediaAdapterKHR" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetDeviceIDsFromDX9MediaAdapterKHR</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1242,7 +981,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1252,8 +991,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetDeviceInfo.html b/sdk/3.0/docs/man/html/clGetDeviceInfo.html index ea30b87..f56a265 100644 --- a/sdk/3.0/docs/man/html/clGetDeviceInfo.html +++ b/sdk/3.0/docs/man/html/clGetDeviceInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetDeviceInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetDeviceInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetDeviceInfo( cl_device_id device, cl_device_info param_name, size_t param_value_size, @@ -875,9 +876,12 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>TYPE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>type</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">The type or types of the OpenCL device.</p> +<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the OpenCL device. + The device type is purely informational and has no semantic meaning. + The device must report a single device type, which must not be + <code>CL_DEVICE_<wbr>TYPE_<wbr>DEFAULT</code> or <code>CL_DEVICE_<wbr>TYPE_<wbr>ALL</code>.</p> <p class="tableblock"> Please see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#device-types-table" target="_blank" rel="noopener">Device Types</a> table - for supported device types and device type combinations.</p></td> + for supported device types and device type descriptions.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>VENDOR_<wbr>ID</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> @@ -945,7 +949,7 @@ can be stored in the vector.</p> <p class="tableblock"> If double precision is not supported, <code>CL_DEVICE_<wbr>PREFERRED_<wbr>VECTOR_<wbr>WIDTH_<wbr>DOUBLE</code> must return 0.</p> -<p class="tableblock"> If the <strong>cl_khr_fp16</strong> extension is not supported, +<p class="tableblock"> If the <code>cl_khr_<wbr>fp16</code> extension is not supported, <code>CL_DEVICE_<wbr>PREFERRED_<wbr>VECTOR_<wbr>WIDTH_<wbr>HALF</code> must return 0.</p></td> </tr> <tr> @@ -963,7 +967,7 @@ can be stored in the vector.</p> <p class="tableblock"> If double precision is not supported, <code>CL_DEVICE_<wbr>NATIVE_<wbr>VECTOR_<wbr>WIDTH_<wbr>DOUBLE</code> must return 0.</p> -<p class="tableblock"> If the <strong>cl_khr_fp16</strong> extension is not supported, +<p class="tableblock"> If the <code>cl_khr_<wbr>fp16</code> extension is not supported, <code>CL_DEVICE_<wbr>NATIVE_<wbr>VECTOR_<wbr>WIDTH_<wbr>HALF</code> must return 0.</p></td> </tr> <tr> @@ -1029,28 +1033,36 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>IL_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_il_program</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_DEVICE_<wbr>IL_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_il_program</code> extension.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>char</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The intermediate languages that can be supported by <strong>clCreateProgramWithIL</strong> for this device. - Returns a space-separated list of IL version strings of the form - <IL_Prefix>_<Major_Version>.<Minor_Version>.</p> + Returns a space-separated list of IL version strings of the form</p> +<p class="tableblock"> <IL_Prefix>_<Major_Version>.<Minor_Version></p> <p class="tableblock"> For an OpenCL 2.1 or 2.2 device, SPIR-V is a required IL prefix.</p> <p class="tableblock"> If the device does not support intermediate language programs, the - value must be <code>""</code> (an empty string).</p></td> + value must be <code>""</code> (an empty string).</p> +<p class="tableblock"> A device that supports the <code>cl_khr_<wbr>il_<wbr>program</code> extension must + support the <code>"SPIR-V"</code> IL prefix.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>ILS_<wbr>WITH_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0. -Also see extension <strong>cl_khr_il_program</strong>.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_DEVICE_<wbr>ILS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p> +<p class="tableblock">or <code>cl_name_<wbr>version_<wbr>khr</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns an array of descriptions (name and version) for all supported - intermediate languages. Intermediate languages with the same name may be - reported more than once but each name and major/minor version - combination may only be reported once. The list of intermediate - languages reported must match the list reported via - <code>CL_DEVICE_<wbr>IL_<wbr>VERSION</code>.</p> + intermediate languages. + Intermediate languages with the same name may be reported more than + once but each name and major/minor version combination may only be + reported once. + The list of intermediate languages reported must match the list + reported via <code>CL_DEVICE_<wbr>IL_<wbr>VERSION</code>.</p> <p class="tableblock"> For an OpenCL 2.1 or 2.2 device, at least one version of SPIR-V must be reported.</p></td> </tr> @@ -1115,7 +1127,9 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>IMAGE_<wbr>PITCH_<wbr>ALIGNMENT</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> +<p class="tableblock">The equivalent <code>CL_DEVICE_<wbr>IMAGE_<wbr>PITCH_<wbr>ALIGNMENT_<wbr>KHR</code> may be used if +the <code>cl_khr_<wbr>image2d_<wbr>from_<wbr>buffer</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The row pitch alignment size in pixels for 2D images created from a buffer. @@ -1126,7 +1140,9 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>IMAGE_<wbr>BASE_<wbr>ADDRESS_<wbr>ALIGNMENT</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> +<p class="tableblock">The equivalent <code>CL_DEVICE_<wbr>IMAGE_<wbr>BASE_<wbr>ADDRESS_<wbr>ALIGNMENT_<wbr>KHR</code> may be used +if the <code>cl_khr_<wbr>image2d_<wbr>from_<wbr>buffer</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">This query specifies the minimum alignment in pixels of the host_ptr specified to <strong>clCreateBuffer</strong> or <strong>clCreateBufferWithProperties</strong> when a 2D image @@ -1220,8 +1236,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>DOUBLE_<wbr>FP_<wbr>CONFIG</code> <sup class="footnoteref">[<a class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 1.2. -Also see extension <strong>cl_khr_fp64</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 1.2.</p> +<p class="tableblock">Also see <code>cl_khr_<wbr>fp64</code>.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>fp_<wbr>config</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Describes double precision floating-point capability of the OpenCL device. @@ -1480,11 +1496,16 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p> +<p class="tableblock">or <code>cl_name_<wbr>version_<wbr>khr</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns an array of descriptions for the built-in kernels supported by - the device. Each built-in kernel may only be reported once. The list of - reported kernels must match the list returned via + the device. + Each built-in kernel may only be reported once. + The list of reported kernels must match the list returned via <code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS</code>.</p></td> </tr> <tr> @@ -1533,11 +1554,16 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>NUMERIC_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_version</code></p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_DEVICE_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_version</code></p> +<p class="tableblock">or <code>cl_version_<wbr>khr</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the detailed (major, minor, patch) version supported by the - device. The major and minor version numbers returned must match - those returned via <code>CL_DEVICE_<wbr>VERSION</code>.</p></td> + device. + The major and minor version numbers returned must match those + returned via <code>CL_DEVICE_<wbr>VERSION</code>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>VERSION</code></p> @@ -1596,6 +1622,17 @@ this query may return an empty array.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_version_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns detailed (major, minor, patch) numeric version information. + The major and minor version numbers returned must match those returned + via <code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>VERSION</code>.</p> +<p class="tableblock"> This query was not promoted to core in OpenCL version 3.0, but the + core query <code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>ALL_<wbr>VERSIONS</code> can be used to obtain + equivalent information.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>FEATURES</code></p> <p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p></td> @@ -1617,29 +1654,33 @@ names and vendor specified extension names.</p> <p class="tableblock"> The following Khronos extension names must be returned by all devices that support OpenCL 1.1:</p> -<p class="tableblock"> <strong>cl_khr_byte_addressable_store</strong><br> - <strong>cl_khr_global_int32_base_atomics</strong><br> - <strong>cl_khr_global_int32_extended_atomics</strong><br> - <strong>cl_khr_local_int32_base_atomics</strong><br> - <strong>cl_khr_local_int32_extended_atomics</strong></p> +<p class="tableblock"> <code>cl_khr_<wbr>byte_<wbr>addressable_<wbr>store</code><br> + <code>cl_khr_<wbr>global_<wbr>int32_<wbr>base_<wbr>atomics</code><br> + <code>cl_khr_<wbr>global_<wbr>int32_<wbr>extended_<wbr>atomics</code><br> + <code>cl_khr_<wbr>local_<wbr>int32_<wbr>base_<wbr>atomics</code><br> + <code>cl_khr_<wbr>local_<wbr>int32_<wbr>extended_<wbr>atomics</code></p> <p class="tableblock"> Additionally, the following Khronos extension names must be returned by all devices that support OpenCL 1.2 when and only when the optional feature is supported:</p> -<p class="tableblock"> <strong>cl_khr_fp64</strong></p> +<p class="tableblock"> <code>cl_khr_<wbr>fp64</code></p> <p class="tableblock"> Additionally, the following Khronos extension names must be returned by all devices that support OpenCL 2.0, OpenCL 2.1, or OpenCL 2.2. For devices that support OpenCL 3.0, these extension names must be returned when and only when the optional feature is supported:</p> -<p class="tableblock"> <strong>cl_khr_3d_image_writes</strong><br> - <strong>cl_khr_depth_images</strong><br> - <strong>cl_khr_image2d_from_buffer</strong></p> +<p class="tableblock"> <code>cl_khr_<wbr>3d_<wbr>image_<wbr>writes</code><br> + <code>cl_khr_<wbr>depth_<wbr>images</code><br> + <code>cl_khr_<wbr>image2d_<wbr>from_<wbr>buffer</code></p> <p class="tableblock"> Please refer to the OpenCL Extension Specification or vendor provided documentation for a detailed description of these extensions.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_DEVICE_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p> +<p class="tableblock">or <code>cl_name_<wbr>version_<wbr>khr</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns an array of description (name and version) structures. The same extension name must not be reported more than once. The list of extensions reported must match the list reported via @@ -1816,7 +1857,7 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Is <code>CL_TRUE</code> if this device supports independent forward progress of sub-groups, <code>CL_FALSE</code> otherwise.</p> <p class="tableblock"> This query must return <code>CL_TRUE</code> for devices that support the - <strong>cl_khr_subgroups</strong> extension, and must return <code>CL_FALSE</code> for + <code>cl_khr_<wbr>subgroups</code> extension, and must return <code>CL_FALSE</code> for devices that do not support sub-groups.</p></td> </tr> <tr> @@ -1903,9 +1944,410 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the latest version of the conformance test suite that this device has fully passed in accordance with the official conformance process.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>CAPABILITIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes device command-buffer capabilities, encoded as bits in a bitfield. + Supported capabilities are:</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>KERNEL_<wbr>PRINTF_<wbr>KHR</code> Device + supports the ability to record commands that execute kernels which + contain printf calls.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>DEVICE_<wbr>SIDE_<wbr>ENQUEUE_<wbr>KHR</code> Device + supports the ability to record commands that execute kernels which + contain device-side kernel-enqueue calls.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code> Device + supports the command-buffers having a <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#pending_count" target="_blank" rel="noopener">Pending + Count</a> that exceeds 1.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>OUT_<wbr>OF_<wbr>ORDER_<wbr>KHR</code> Device + supports the ability to record command-buffers to out-of-order + command-queues.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>MULTIPLE_<wbr>QUEUE_<wbr>KHR</code> Device + supports the ability to record commands to more than one + command-queue associated with <em>device</em> in a single command-buffer.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>REQUIRED_<wbr>QUEUE_<wbr>PROPERTIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>queue_<wbr>properties</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Bitmask of the minimum properties with which a command-queue must be created + to allow a command-buffer to be executed on it. + It is valid for a command-queue to be created with extra properties + in addition to this base requirement and still be compatible with + command-buffer execution.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>NUM_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of root devices listed in + <code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code> that <em>device</em> can use + device-side synchronization with.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the list of root devices <em>device</em> can use device-side + synchronization with. + A device should list itself only if it has native support for + synchronizing commands. + Sub-devices are not listed to avoid non-deterministic results as + sub-devices are created. + Instead if a root device is listed, then any of its partitioned + sub-devices can also be natively synchronized with.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CAPABILITIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mutable_<wbr>dispatch_<wbr>fields_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes device mutable-dispatch capabilities, encoded as bits in a + bitfield. + Supported capabilities are:</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>OFFSET_<wbr>KHR</code> - Device supports the + ability to modify the <em>global_work_offset</em> of kernel execution after + command recording.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>SIZE_<wbr>KHR</code> - Device supports the + ability to modify the <em>global_work_size</em> of kernel execution after + command recording.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>SIZE_<wbr>KHR</code> - Device supports the + ability to modify the <em>local_work_size</em> of kernel execution after + command recording.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ARGUMENTS_<wbr>KHR</code> - Device supports the + ability to modify arguments set on a kernel after command recording.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p> +<p class="tableblock"> <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>EXEC_<wbr>INFO_<wbr>KHR</code> - Device supports the + ability to modify execution information set on a kernel after command + recording.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>UUID_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_device_uuid</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uchar</code>[<code>CL_UUID_<wbr>SIZE_<wbr>KHR</code>]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a universally unique identifier (UUID) for the device.</p> +<p class="tableblock"> Device UUIDs must be immutable for a given device across processes, + driver APIs, driver versions, and system reboots.</p> +<p class="tableblock"> <code>CL_UUID_<wbr>SIZE_<wbr>KHR</code> is the size of the UUID, in bytes.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DRIVER_<wbr>UUID_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_device_uuid</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uchar</code>[<code>CL_UUID_<wbr>SIZE_<wbr>KHR</code>]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a universally unique identifier (UUID) for the software driver + for the device.</p> +<p class="tableblock"> <code>CL_UUID_<wbr>SIZE_<wbr>KHR</code> is the size of the UUID, in bytes.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_device_uuid</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_bool</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <code>CL_TRUE</code> if the device has a valid LUID and <code>CL_FALSE</code> + otherwise.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>LUID_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_device_uuid</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uchar</code>[<code>CL_LUID_<wbr>SIZE_<wbr>KHR</code>]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a locally unique identifier (LUID) for the device.</p> +<p class="tableblock"> It is not an error to query <code>CL_DEVICE_<wbr>LUID_<wbr>KHR</code> when + <code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code> returns <code>CL_FALSE</code>, but in this case the + returned LUID value is undefined.</p> +<p class="tableblock"> When <code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code> returns <code>CL_TRUE</code>, and the OpenCL + device is running on the Windows operating system, the returned LUID + value can be cast to an <code>LUID</code> object and must be equal to the locally + unique identifier of an <code>IDXGIAdapter1</code> object that corresponds to the + OpenCL device.</p> +<p class="tableblock"> <code>CL_LUID_<wbr>SIZE_<wbr>KHR</code> is the size of the LUID, in bytes.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>NODE_<wbr>MASK_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_device_uuid</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a node mask for the device.</p> +<p class="tableblock"> It is not an error to query <code>CL_DEVICE_<wbr>NODE_<wbr>MASK_<wbr>KHR</code> when + <code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code> returns <code>CL_FALSE</code>, but in this case the + returned node mask is undefined.</p> +<p class="tableblock"> When <code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code> returns <code>CL_TRUE</code>, the returned node + mask must contain exactly one bit. + If the OpenCL device is running on an operating system that supports + the Direct3D 12 API and the OpenCL device corresponds to an individual + device in a linked device adapter, the returned node mask identifies + the Direct3D 12 node corresponding to the OpenCL device. + Otherwise, the returned node mask must be <code>1</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of importable external memory handle types + supported by <em>device</em>.</p> +<p class="tableblock"> Must return a non-empty list of external memory handle types for at + least one of the devices in the platform.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of importable external memory handle types + supported by <em>device</em>, that are assumed to apply linear layout to + imported images when no other tiling information is provided.</p> +<p class="tableblock"> This list contains a subset of + <code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code>. + The returned list may be empty.</p> +<p class="tableblock"> External memory handle types not in + <code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> + may have any memory layout. + The layout interpretation of images imported with these handle types + is implementation defined.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>HALF_<wbr>FP_<wbr>CONFIG</code></p> +<p class="tableblock">provided by the <code>cl_khr_fp16</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>fp_<wbr>config</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes half-precision floating-point capability of the OpenCL + device. + This is a bit-field that describes one or more of the following + values:</p> +<p class="tableblock"> <code>CL_FP_<wbr>DENORM</code> - denorms are supported<br> + <code>CL_FP_<wbr>INF_<wbr>NAN</code> - INF and NaNs are supported<br> + <code>CL_FP_<wbr>ROUND_<wbr>TO_<wbr>NEAREST</code> - round to nearest even rounding mode + supported<br> + <code>CL_FP_<wbr>ROUND_<wbr>TO_<wbr>ZERO</code> - round to zero rounding mode supported<br> + <code>CL_FP_<wbr>ROUND_<wbr>TO_<wbr>INF</code> - round to positive and negative infinity + rounding modes supported<br> + <code>CL_FP_<wbr>FMA</code> - IEEE754-2008 fused multiply-add is supported<br> + <code>CL_FP_<wbr>SOFT_<wbr>FLOAT</code> - Basic floating-point operations (such as + addition, subtraction, multiplication) are implemented in software</p> +<p class="tableblock"> If half-precision is supported by the device, then the minimum + half-precision floating-point capability for OpenCL 2.0 or newer + devices is:</p> +<p class="tableblock"> <code>CL_FP_<wbr>ROUND_<wbr>TO_<wbr>ZERO</code></p> +<p class="tableblock"> or</p> +<p class="tableblock"> <code>CL_FP_<wbr>ROUND_<wbr>TO_<wbr>NEAREST</code> |<br> + <code>CL_FP_<wbr>INF_<wbr>NAN</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>CAPABILITIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_integer_dot_product</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>capabilities_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the integer dot product capabilities supported by the + device.</p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code> is always + set, indicating that all implementations that support + <code>cl_khr_<wbr>integer_<wbr>dot_<wbr>product</code> must support dot product built-in + functions and, when SPIR-V is supported, SPIR-V instructions that + take four-component vectors of 8-bit integers packed into 32-bit + integers as input.</p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>KHR</code> is set when dot + product built-in functions and, when SPIR-V is supported, SPIR-V + instructions that take four-component of 8-bit elements as input are + supported. + NOTE: <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>KHR</code> + must be set in version 2.x of the extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>8BIT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_integer_dot_product</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>acceleration_<wbr>properties_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a structure describing the exact 8-bit dot product + combinations that are <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#integer-dot-product-acceleration-properties" target="_blank" rel="noopener">accelerated</a> on the device. + Each member is <code>CL_TRUE</code> if the combination it corresponds to is + accelerated, <code>CL_FALSE</code> otherwise. + NOTE: + <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>8BIT_<wbr>KHR</code> is + missing before version 2.0 of the extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_integer_dot_product</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>acceleration_<wbr>properties_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a structure describing the exact 4x8-bit packed dot product + combinations that are <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#integer-dot-product-acceleration-properties" target="_blank" rel="noopener">accelerated</a> on the device. + Each member is <code>CL_TRUE</code> if the combination it corresponds to is + accelerated, <code>CL_FALSE</code> otherwise. + NOTE: + <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code> + is missing before version 2.0 of the extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>CAPABILITIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_kernel_clock</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>kernel_<wbr>clock_<wbr>capabilities_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the kernel clock capabilities of the device.<br></p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>DEVICE_<wbr>KHR</code> is set when kernels are + allowed to call the <code>clock_read_device</code> and <code>clock_read_hilo_device</code> + OpenCL-C functions.</p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>WORK_<wbr>GROUP_<wbr>KHR</code> is set when kernels + are allowed to call the <code>clock_read_work_group</code> and + <code>clock_read_hilo_work_group</code> OpenCL-C functions.</p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>SUB_<wbr>GROUP_<wbr>KHR</code> is set when kernels + are allowed to call the <code>clock_read_sub_group</code> and + <code>clock_read_hilo_sub_group</code> OpenCL-C functions.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>PCI_<wbr>BUS_<wbr>INFO_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_pci_bus_info</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>pci_<wbr>bus_<wbr>info_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns PCI bus information for the device.</p> +<p class="tableblock"> The PCI bus information is returned as a single structure that + includes the PCI bus domain, the PCI bus identifier, the PCI device + identifier, and the PCI device function identifier.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of the semaphore types supported by <em>device</em>.</p> +<p class="tableblock"> Must return a non-empty list for at least one of the devices in the + platform, meeting the minimum requirements described for + <code>cl_semaphore_<wbr>type_<wbr>khr</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of importable external semaphore handle types + supported by <em>device</em>.</p> +<p class="tableblock"> This size of this query may be 0 indicating that the device does not + support importing semaphores.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of exportable external semaphore handle types + supported by <em>device</em>.</p> +<p class="tableblock"> This size of this query may be 0 indicating that the device does not + support exporting semaphores.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>SPIR_<wbr>VERSIONS</code></p> +<p class="tableblock">provided by the <code>cl_khr_spir</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>char</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A space separated list of SPIR versions supported by the device.</p> +<p class="tableblock"> For example, returning <code>"1.2"</code> in this query implies that SPIR version + 1.2 is supported by the implementation.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>MAX_<wbr>NAMED_<wbr>BARRIER_<wbr>COUNT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_subgroup_named_barrier</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of named barriers in a work-group for any given + kernel-instance running on the device. + The minimum value is 8.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_terminate_context</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>terminate_<wbr>capability_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes the termination capability of the OpenCL device. + This is a bit-field, where the following values are currently + supported:</p> +<p class="tableblock"> <code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>CONTEXT_<wbr>KHR</code> - Indicates that + context termination is supported.</p></td> +</tr> </tbody> </table> <div class="paragraph"> +<p>OpenCL 3 devices must report the following feature macros via +<code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>FEATURES</code> when the corresponding bit is set in the bitfield +returned for <code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>CAPABILITIES_<wbr>KHR</code>:</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Feature Bit</th> +<th class="tableblock halign-left valign-top">Feature Macro</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit_<wbr>packed</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit</code></p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>OpenCL 3 devices must report the following feature macros via +<code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>FEATURES</code> when the corresponding bit is set in the bitfield +returned for <code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>CAPABILITIES_<wbr>KHR</code>:</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Feature Bit</th> +<th class="tableblock halign-left valign-top">Feature Macro</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>DEVICE_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>device</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>WORK_<wbr>GROUP_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>work_<wbr>group</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>SUB_<wbr>GROUP_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>sub_<wbr>group</code></p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>One of the two queries <code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> and +<code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> must return a non-empty list +indicating support for at least one of the valid semaphore handle types +either for import, for export, or both.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="title">Note</div> +<div class="paragraph"> +<p>While <code>CL_DEVICE_<wbr>UUID_<wbr>KHR</code> is specified to remain consistent across driver +versions and system reboots, it is not intended to be usable as a +serializable persistent identifier for a device. +It may change when a device is physically added to, removed from, or moved +to a different connector in a system while that system is powered down. +Further, there is no reasonable way to verify with conformance testing that +a given device retains the same UUID in a given system across all driver +versions supported in that system. +While implementations should make every effort to report consistent device +UUIDs across driver versions, applications should avoid relying on the +persistence of this value for uses other than identifying compatible devices +for external object sharing purposes.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> <p><strong>clGetDeviceInfo</strong> returns <code>CL_SUCCESS</code> if the function is executed successfully. Otherwise, it returns one of the following errors:</p> @@ -1959,7 +2401,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1987,8 +2429,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetEventInfo.html b/sdk/3.0/docs/man/html/clGetEventInfo.html index 2664d09..0e8538c 100644 --- a/sdk/3.0/docs/man/html/clGetEventInfo.html +++ b/sdk/3.0/docs/man/html/clGetEventInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetEventInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetEventInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetEventInfo( cl_event event, cl_event_info param_name, size_t param_value_size, @@ -845,7 +846,10 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_EVENT_<wbr>COMMAND_<wbr>QUEUE</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>queue</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the command-queue associated with <em>event</em>. - For user event objects, a <code>NULL</code> value is returned.</p></td> + For user event objects, a <code>NULL</code> value is returned.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is + supported, for events returned by a command-buffer enqueue operation + to multiple command-queues, <code>NULL</code> is returned.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_EVENT_<wbr>CONTEXT</code></p> @@ -864,17 +868,29 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_int</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the execution status of the command identified by event. Valid values are:</p> -<p class="tableblock"> <code>CL_QUEUED</code> (command has been enqueued in the command-queue),</p> -<p class="tableblock"> <code>CL_SUBMITTED</code> (enqueued command has been submitted by the host to the - device associated with the command-queue),</p> -<p class="tableblock"> <code>CL_RUNNING</code> (device is currently executing this command),</p> -<p class="tableblock"> <code>CL_COMPLETE</code> (the command has completed), or</p> -<p class="tableblock"> Error code given by a negative integer value. (command was +<p class="tableblock"> <code>CL_QUEUED</code> - Command has been enqueued in the command-queue.</p> +<p class="tableblock"> <code>CL_SUBMITTED</code> - Enqueued command has been submitted by the host to the + device associated with the command-queue.</p> +<p class="tableblock"> <code>CL_RUNNING</code> - Device is currently executing this command.</p> +<p class="tableblock"> <code>CL_COMPLETE</code> - The command has completed.</p> +<p class="tableblock"> Or an error code given by a negative integer value (command was abnormally terminated - this may be caused by a bad memory access etc.). These error codes come from the same set of error codes that are returned from the platform or runtime API calls as return values or - errcode_ret values.</p></td> + <strong>errcode_ret</strong> values.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is + supported, for events returned by a command-buffer enqueue operation + to multiple command-queues the semantics of execution status is as + follows:</p> +<p class="tableblock"> <code>CL_QUEUED</code> - Command-buffer has been enqueued across the + command-queues.</p> +<p class="tableblock"> <code>CL_SUBMITTED</code> - Commands from the command-buffer have been + submitted by the host to any device associated with one of the + command-queues.</p> +<p class="tableblock"> <code>CL_RUNNING</code> - Any command from the command-buffer has started + execution on a device.</p> +<p class="tableblock"> <code>CL_COMPLETE</code> - All commands have completed on all devices.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_EVENT_<wbr>REFERENCE_<wbr>COUNT</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup></p></td> @@ -891,8 +907,8 @@ </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Events Created By</strong></th> -<th class="tableblock halign-left valign-top"><strong>Event Command Type</strong></th> +<th class="tableblock halign-left valign-top">Events Created By</th> +<th class="tableblock halign-left valign-top">Event Command Type</th> </tr> </thead> <tbody> @@ -1031,6 +1047,89 @@ <code>CL_COMMAND_<wbr>MIGRATE_<wbr>MEM_<wbr>OBJECTS</code>, but may return an implementation-defined event command type for <strong>clEnqueueSVMMigrateMem</strong>.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueCommandBufferKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireD3D10ObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>D3D10_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseD3D10ObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>D3D10_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireD3D11ObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>D3D11_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseD3D11ObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>D3D11_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireEGLObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>EGL_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_egl_image</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseEGLObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>EGL_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_egl_image</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clCreateEventFromEGLSyncKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>EGL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_egl_image</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireExternalMemObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>EXTERNAL_<wbr>MEM_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseExternalMemObjectsKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>EXTERNAL_<wbr>MEM_<wbr>OBJECTS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueAcquireGLObjects</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>GL_<wbr>OBJECTS</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueReleaseGLObjects</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>RELEASE_<wbr>GL_<wbr>OBJECTS</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clCreateEventFromGLsyncKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>GL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_event</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueSignalSemaphoresKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>SEMAPHORE_<wbr>SIGNAL_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_semaphore</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>clEnqueueWaitSemaphoresKHR</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_COMMAND_<wbr>SEMAPHORE_<wbr>WAIT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_semaphore</code> extension.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -1096,7 +1195,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1115,8 +1214,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetEventProfilingInfo.html b/sdk/3.0/docs/man/html/clGetEventProfilingInfo.html index ecd8ee9..852378d 100644 --- a/sdk/3.0/docs/man/html/clGetEventProfilingInfo.html +++ b/sdk/3.0/docs/man/html/clGetEventProfilingInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetEventProfilingInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetEventProfilingInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetEventProfilingInfo( cl_event event, cl_profiling_info param_name, size_t param_value_size, @@ -847,7 +848,11 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_ulong</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit value that describes the current device time counter in nanoseconds when the command identified by event is enqueued in a - command-queue by the host.</p></td> + command-queue by the host.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, + for events returned by a command-buffer enqueue operation to multiple + command-queues, the host time when the command-buffer has been enqueued + across the command-queues is used.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROFILING_<wbr>COMMAND_<wbr>SUBMIT</code></p></td> @@ -855,21 +860,33 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit value that describes the current device time counter in nanoseconds when the command identified by event that has been enqueued is submitted by the host to the device associated with the - command-queue.</p></td> + command-queue.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, + for events returned by a command-buffer enqueue operation to multiple + command-queues, the host time is used when command-buffer commands have + been submitted to any command-queue.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROFILING_<wbr>COMMAND_<wbr>START</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_ulong</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit value that describes the current device time counter in nanoseconds when the command identified by event starts execution on - the device.</p></td> + the device.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, + for events returned by a command-buffer enqueue operation to multiple + command-queues, the host time is used when any device starts executing a + command-buffer command.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROFILING_<wbr>COMMAND_<wbr>END</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_ulong</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit value that describes the current device time counter in nanoseconds when the command identified by event has finished - execution on the device.</p></td> + execution on the device.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, + for events returned by a command-buffer enqueue operation to multiple + command-queues, the host time is used when the last command-buffer + command finishes execution on any device.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROFILING_<wbr>COMMAND_<wbr>COMPLETE</code></p> @@ -878,7 +895,11 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit value that describes the current device time counter in nanoseconds when the command identified by event and any child commands enqueued by this command on the device have finished - execution.</p></td> + execution.</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, + for events returned by a command-buffer enqueue operation to multiple + command-queues, the host time is used when the command-buffer has + completed execution across all command-queues.</p></td> </tr> </tbody> </table> @@ -893,6 +914,25 @@ timer i.e. the number of nanoseconds elapsed before the timer is incremented.</p> </div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, and +if no reliable device timer sources are available to inform the host side, +or parallel runtime scheduling makes it impossible to identify a first/last +command, then an implementation may fallback to reporting +<code>CL_PROFILING_<wbr>COMMAND_<wbr>SUBMIT</code> and <code>CL_PROFILING_<wbr>COMMAND_<wbr>COMPLETE</code> for +<code>CL_PROFILING_<wbr>COMMAND_<wbr>START</code> and <code>CL_PROFILING_<wbr>COMMAND_<wbr>END</code> respectively.</p> +</div> +</td> +</tr> +</table> +</div> <div class="paragraph"> <p><strong>clGetEventProfilingInfo</strong> returns <code>CL_SUCCESS</code> if the function is executed successfully and the profiling information has been recorded. @@ -907,7 +947,12 @@ object. Prior to OpenCL 3.0, implementations may return <code>CL_PROFILING_<wbr>INFO_<wbr>NOT_<wbr>AVAILABLE</code> for an event created by -<strong>clEnqueueSVMFree</strong>.</p> +<strong>clEnqueueSVMFree</strong>. +<br> +If the <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension is supported, +and if <em>event</em> was created from a call to <strong>clEnqueueCommandBufferKHR</strong>, +<code>CL_PROFILING_<wbr>INFO_<wbr>NOT_<wbr>AVAILABLE</code> is returned if all the queues passed +do not have <code>CL_QUEUE_<wbr>PROFILING_<wbr>ENABLE</code> set.</p> </li> <li> <p><code>CL_INVALID_<wbr>VALUE</code> if <em>param_name</em> is not valid, or if size in bytes @@ -954,7 +999,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -964,8 +1009,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetExtensionFunctionAddressForPlatform.html b/sdk/3.0/docs/man/html/clGetExtensionFunctionAddressForPlatform.html index fd79d92..6d2861f 100644 --- a/sdk/3.0/docs/man/html/clGetExtensionFunctionAddressForPlatform.html +++ b/sdk/3.0/docs/man/html/clGetExtensionFunctionAddressForPlatform.html
@@ -808,8 +808,8 @@ <div class="paragraph"> <p>A return value of NULL indicates that the specified function does not exist for the implementation or <em>platform</em> is not a valid platform. A non-NULL return value for <code>clGetExtensionFunctionAddressForPlatform</code> does not guarantee that an extension function is actually supported by the platform. -The application must also make a corresponding query using <a href="clGetPlatformInfo.html">clGetPlatformInfo</a> (platform, <code>CL_PLATFORM_EXTENSIONS</code>, …​ ) or -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a> (device,<code>CL_DEVICE_EXTENSIONS</code>, …​ ) to determine if an extension is supported by the OpenCL implementation.</p> +The application must also make a corresponding query using <a href="clGetPlatformInfo.html">clGetPlatformInfo</a> (platform, {CL_PLATFORM_EXTENSIONS}, …​ ) or +<a href="clGetDeviceInfo.html">clGetDeviceInfo</a> (device,{CL_DEVICE_EXTENSIONS}, …​ ) to determine if an extension is supported by the OpenCL implementation.</p> </div> <div class="paragraph"> <p><code>clGetExtensionFunctionAddressForPlatform</code> may not be queried for core (non-extension) functions in OpenCL. @@ -916,7 +916,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -926,8 +926,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetGLContextInfoKHR.html b/sdk/3.0/docs/man/html/clGetGLContextInfoKHR.html index d9e6844..f1907a2 100644 --- a/sdk/3.0/docs/man/html/clGetGLContextInfoKHR.html +++ b/sdk/3.0/docs/man/html/clGetGLContextInfoKHR.html
@@ -767,19 +767,26 @@ <h1>clGetGLContextInfoKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetGLContextInfoKHR - Get OpenGL context information.</p> +<p>clGetGLContextInfoKHR - Query OpenCL device corresponding to an OpenGL context</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> +<div class="paragraph"> +<p>To query the OpenCL device corresponding to an OpenGL context, call the +function</p> +</div> +<div id="clGetGLContextInfoKHR" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetGLContextInfoKHR(const cl_context_properties *properties, - cl_gl_context_info param_name, - size_t param_value_size, - void *param_value, - size_t *param_value_size_ret)</code></pre> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_int clGetGLContextInfoKHR( + const cl_context_properties* properties, + cl_gl_context_info param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret);</code></pre> </div> </div> </div> @@ -790,29 +797,31 @@ <div class="ulist"> <ul> <li> -<p><em>properties</em> - Points to an attribute list whose format and valid -contents are identical to the <em>properties</em> argument of -<a href="clCreateContext.html">clCreateContext</a>. <em>properties</em> must identify a single valid GL -context or GL share group object.</p> +<p><em>properties</em> points to an property list whose format and valid contents +are identical to the <em>properties</em> argument of <strong>clCreateContext</strong>. +<em>properties</em> must identify a single valid GL context or GL share group +object.</p> </li> <li> -<p><em>param_name</em> - A constant that specifies the GL context information to -query, and must be one of the values shown in the table below.</p> +<p><em>param_name</em> is a constant that specifies the device types to query, and +must be one of the values shown in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#gl-context-info-table" target="_blank" rel="noopener">Supported Device Types</a> table below.</p> </li> <li> -<p><em>param_value_size</em> - Specifies the size in bytes of memory pointed to by -<em>param_value</em>. This size must be greater than or equal to the size of -the return type described in the table below.</p> +<p><em>param_value</em> is a pointer to memory where the result of the query is +returned, as described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#gl-context-info-table" target="_blank" rel="noopener">Supported Device +Types</a> table. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> </li> <li> -<p><em>param_value</em> - A pointer to memory where the result of the query is -returned as described in the table below. If <em>param_value</em> is NULL, it -is ignored.</p> +<p><em>param_value_size</em> specifies the size in bytes of memory pointed to by +<em>param_value</em>. +This size must be greater than or equal to the size of the return type +described in the table below.</p> </li> <li> -<p><em>param_value_size_ret</em> - Returns the actual size in bytes of data being -queried by <em>param_value</em>. If <em>param_value_size_ret</em> is NULL, it is -ignored.</p> +<p><em>param_value_size_ret</em> returns the actual size in bytes of data being +queried by <em>param_value</em>. +If <em>param_value_size_ret</em> is <code>NULL</code>, it is ignored.</p> </li> </ul> </div> @@ -821,675 +830,118 @@ <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> -<div class="paragraph"> -<p>Get OpenGL context information.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> +<table id="gl-context-info-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Supported Device Types for <strong>clGetGLContextInfoKHR</strong></caption> <colgroup> -<col style="width: 33.3333%;"> -<col style="width: 33.3333%;"> -<col style="width: 33.3334%;"> +<col style="width: 40%;"> +<col style="width: 20%;"> +<col style="width: 40%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><em>param_name</em></th> +<th class="tableblock halign-left valign-top">param_name</th> <th class="tableblock halign-left valign-top">Return Type</th> <th class="tableblock halign-left valign-top">Information returned in param_value</th> </tr> </thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_device_id</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Return the CL device currently associated with the specified OpenGL context.</p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CURRENT_<wbr>DEVICE_<wbr>FOR_<wbr>GL_<wbr>CONTEXT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the OpenCL device currently associated with the specified + OpenGL context.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEVICES_FOR_GL_CONTEXT_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_device_id[]</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>List of all CL devices which may be associated with the specified OpenGL context.</p> -</div></div></td> -</tr> -</tbody> -</table> -</div> -</div> -<div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>General information about GL sharing follows.</p> -</div> -<div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> -</div> -<div class="paragraph"> -<p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> -</div> -<div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> -</div> -<div class="paragraph"> -<div class="title">OpenGL and Corresponding OpenCL Image Formats</div> -<p>The table below (Table 9.4) describes the list of GL texture internal -formats and the corresponding CL image formats. -If a GL texture object with an internal format from the table below is -successfully created by OpenGL, then there is guaranteed to be a mapping to -one of the corresponding CL image format(s) in that table. -Texture objects created with other OpenGL internal formats may (but are not -guaranteed to) have a mapping to a CL image format; if such mappings exist, -they are guaranteed to preserve all color components, data types, and at -least the number of bits/component actually allocated by OpenGL for that -format.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_SRGBA8_ALPHA8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_sRGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_BGRA</code>, - <code>GL_UNSIGNED_INT_8_8_8_8_REV</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8I, GL_RGBA8I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16I, GL_RGBA16I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32I, GL_RGBA32I_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8UI, GL_RGBA8UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16UI, GL_RGBA16UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32UI, GL_RGBA32UI_EXT</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_SNORM_INT166</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA16F, GL_RGBA16F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RGBA32F, GL_RGBA32F_ARB</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_R32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNSIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16_SNORM</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32I</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_SIGNED_INT32</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG8UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG16UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_RG32UI</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNSIGNED_INT32</code></p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEVICES_<wbr>FOR_<wbr>GL_<wbr>CONTEXT_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return all OpenCL devices which may be associated with the specified + OpenGL context.</p></td> </tr> </tbody> </table> <div class="paragraph"> -<p>If the <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a> extension is enabled, the following -new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL -2.0 extension specification. If a GL texture object with an internal format -from table 9.4 is successfully created by OpenGL, then there is guaranteed -to be a mapping to one of the corresponding CL image format(s) in that -table.</p> -</div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<div class="title">Lifetime of [GL] Shared Objects</div> -<p>An OpenCL memory object created from an OpenGL object (hereinafter refered -to as a "shared CL/GL object") remains valid as long as the corresponding GL -object has not been deleted. If the GL object is deleted through the GL API -(e.g. <code>glDeleteBuffers</code>, <code>glDeleteTextures</code>, or <code>glDeleteRenderbuffers</code>), -subsequent use of the CL buffer or image object will result in undefined -behavior, including but not limited to possible CL errors and data -corruption, but may not result in program termination.</p> -</div> -<div class="paragraph"> -<p>The CL context and corresponding command-queues are dependent on the -existence of the GL share group object, or the share group associated with -the GL context from which the CL context is created. If the GL share group -object or all GL contexts in the share group are destroyed, any use of the -CL context or command-queue(s) will result in undefined behavior, which may -include program termination. Applications should destroy the CL -command-queue(s) and CL context before destroying the corresponding GL share -group or contexts.</p> -</div> -<div class="paragraph"> -<div class="title">Synchronizing OpenCL and OpenGL Access</div> -<p>In order to ensure data integrity, the application is responsible for -synchronizing access to shared CL/GL objects by their respective APIs. -Failure to provide such synchronization may result in race conditions and -other undefined behavior including non-portability between implementations.</p> -</div> -<div class="paragraph"> -<p>Prior to calling <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must -ensure that any pending GL operations which access the objects specified in -<em>mem_objects</em> have completed. This may be accomplished portably by issuing -and waiting for completion of a <code>glFinish</code> command on all GL contexts with -pending references to these objects. Implementations may offer more -efficient synchronization methods; for example on some platforms calling -<code>glFlush</code> may be sufficient, or synchronization may be implicit within a -thread, or there may be vendor-specific extensions that enable placing a -fence in the GL command stream and waiting for completion of that fence in -the CL command-queue. Note that no synchronization methods other than -<code>glFinish</code> are portable between OpenGL implementations at this time.</p> -</div> -<div class="paragraph"> -<p>When the extension <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> is supported: Prior to calling -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, the application must ensure that any -pending EGL or EGL client API operations which access the objects specified -in <em>mem_objects</em> have completed. If the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension -is supported and the EGL context in question supports fence sync objects, -<em>explicit synchronisation</em> can be achieved as set out in section 5.7.1. If -the <a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is not supported, completion of EGL -client API commands may be determined by issuing and waiting for completion -of commands such as <code>glFinish</code> or <code>vgFinish</code> on all client API contexts with -pending references to these objects. Some implementations may offer other -efficient synchronization methods. If such methods exist they will be -described in platform-specific documentation. Note that no synchronization -methods other than <code>glFinish</code> and <code>vgFinish</code> are portable between all EGL -client API implementations and all OpenCL implementations. While this is the -only way to ensure completion that is portable to all platforms, these are -expensive operation and their use should be avoided if the -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a> extension is supported on a platform.</p> -</div> -<div class="paragraph"> -<p>Similarly, after calling <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, the application is -responsible for ensuring that any pending OpenCL operations which access the -objects specified in <em>mem_objects</em> have completed prior to executing -subsequent GL commands which reference these objects. This may be -accomplished portably by calling <a href="clWaitForEvents.html">clWaitForEvents</a> with the event object -returned by <a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, or by calling <a href="clFinish.html">clFinish</a>. -As above, some implementations may offer more efficient methods.</p> -</div> -<div class="paragraph"> -<p>The application is responsible for maintaining the proper order of -operations if the CL and GL contexts are in separate threads.</p> -</div> -<div class="paragraph"> -<p>If a GL context is bound to a thread other than the one in which -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> is called, changes to any of the objects in -<em>mem_objects</em> may not be visible to that context without additional steps -being taken by the application. For an OpenGL 3.1 (or later) context, the -requirements are described in Appendix D ("Shared Objects and Multiple -Contexts") of the OpenGL 3.1 Specification. For prior versions of OpenGL, -the requirements are implementation-dependent.</p> -</div> -<div class="paragraph"> -<p>Attempting to access the data store of an OpenGL object after it has been -acquired by OpenCL and before it has been released will result in undefined -behavior. Similarly, attempting to access a shared CL/GL object from OpenCL -before it has been acquired by the OpenCL command-queue, or after it has -been released, will result in undefined behavior.</p> -</div> -<div class="paragraph"> -<p>If the <a href="cl_khr_gl_event.html">cl_khr_gl_event</a> extension is supported, -then the OpenCL implementation will ensure that any such pending OpenGL -operations are complete for an OpenGL context bound to the same thread as -the OpenCL context. This is referred to as implicit synchronization.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. If no -device(s) exist corresponding to <em>param_name</em>, the call will not fail, but -the value of <em>param_value_size_ret</em> will be zero. Otherwise returns one of -the following:</p> +<p><strong>clGetGLContextInfoKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +If no device(s) exist corresponding to <em>param_name</em>, the call will not fail, +but the value of <em>param_value_size_ret</em> will be zero. +Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p></p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p><code>CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR</code> if a context was specified by any -of the following means:</p> -</div> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a context was specified for +an OpenGL or OpenGL ES implementation using the EGL, GLX, or WGL binding +APIs, as <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#specifying-gl-context" target="_blank" rel="noopener">described for <code>clCreateContext</code></a>; and +any of the following conditions hold:</p> <div class="ulist"> <ul> <li> -<p>A context was specified for an EGL-based OpenGL ES or OpenGL implementation by setting the attributes <code>CL_GL_CONTEXT_KHR</code> and <code>CL_EGL_DISPLAY_KHR</code></p> -</li> -<li> -<p>A context was specified for a GLX-based OpenGL implementation by setting the attributes <code>CL_GL_CONTEXT_KHR</code> and <code>CL_GLX_DISPLAY_KHR</code></p> -</li> -<li> -<p>A context was specified for a WGL-based OpenGL implementation by setting the attributes <code>CL_GL_CONTEXT_KHR</code> and <code>CL_WGL_HDC_KHR</code></p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>and any of the following conditions hold:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>The specified display and context attributes do not identify a valid OpenGL or OpenGL ES context.</p> +<p>The specified display and context properties do not identify a valid +OpenGL or OpenGL ES context.</p> </li> <li> <p>The specified context does not support buffer and renderbuffer objects.</p> </li> <li> -<p>The specified context is not compatible with the OpenCL context being created (for example, it exists in a physically distinct address space, such as another hardware device; or it does not support sharing data with OpenCL due to implementation restrictions).</p> +<p>The specified context is not compatible with the OpenCL context being +created (for example, it exists in a physically distinct address space, +such as another hardware device; or it does not support sharing data +with OpenCL due to implementation restrictions).</p> </li> </ul> </div> -</div> -</div> </li> <li> -<p><code>CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR</code> if a share group was specified -for a CGL-based OpenGL implementation by setting the attribute -<code>CL_CGL_SHAREGROUP_KHR</code>, and the specified share group does not identify a -valid CGL share group object.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code> if a share group was specified +for a CGL-based OpenGL implementation by setting the property +<code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, and the specified share group does not identify +a valid CGL share group object.</p> </li> <li> -<p></p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p><code>CL_INVALID_OPERATION</code> if a context was specified as described above and any of the following conditions hold:</p> -</div> +<p><code>CL_INVALID_<wbr>OPERATION</code> if a context was specified as described above and +any of the following conditions hold:</p> <div class="ulist"> <ul> <li> -<p>A context or share group object was specified for one of CGL, EGL, GLX, or WGL and the OpenGL implementation does not support that window-system binding API.</p> +<p>A context or share group object was specified for one of CGL, EGL, GLX, +or WGL and the OpenGL implementation does not support that +window-system binding API.</p> </li> <li> -<p>More than one of the attributes <code>CL_CGL_SHAREGROUP_KHR</code>, <code>CL_EGL_DISPLAY_KHR</code>, <code>CL_GLX_DISPLAY_KHR</code>, and <code>CL_WGL_HDC_KHR</code> is set to a non-default value.</p> +<p>More than one of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code>, +<code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code>, <code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code>, and <code>CL_WGL_<wbr>HDC_<wbr>KHR</code> is set +to a non-default value.</p> </li> <li> -<p>Both of the attributes <code>CL_CGL_SHAREGROUP_KHR</code> and <code>CL_GL_CONTEXT_KHR</code> are set to non-default values.</p> +<p>Both of the properties <code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code> and <code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code> +are set to non-default values.</p> </li> <li> -<p>Any of the devices specified in <em>devices</em> cannot support OpenCL objects which share the data store of an OpenGL object.</p> +<p>Any of the devices specified in the <devices> argument cannot support +OpenCL objects which share the data store of an OpenGL object.</p> </li> </ul> </div> -</div> -</div> </li> <li> -<p><code>CL_INVALID_VALUE</code> if an attribute name other than those specified in -the table of supported <em>properties</em> for <a href="clCreateContext.html">clCreateContext</a>,</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if an property name other than those specified in +<em>table 4.5</em> is specified in <em>properties</em>.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>param_name</em> is not one of the values listed in -the table above; or if the size in bytes specified by <em>param_value_size</em> -is less than the size of the return type shown in the table above, and -<em>param_value</em> is not a NULL value.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>param_name</em> is not one of the values listed in +the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#gl-context-info-table" target="_blank" rel="noopener">GL context information that can be +queried with_ <strong>clGetGLContextInfoKHR</strong></a> table, or if the size in bytes +specified by <em>param_value_size</em> is less than the size of the return type +shown in the table and <em>param_value</em> is not a <code>NULL</code> value</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> </li> </ul> @@ -1500,9 +952,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clCreateContext.html">clCreateContext</a>, -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="cl_khr_gl_event.html">cl_khr_gl_event</a></p> +<p><a href="cl_context_properties.html">cl_context_properties</a>, <a href="cl_gl_context_info.html">cl_gl_context_info</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a></p> </div> </div> </div> @@ -1510,10 +960,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetGLContextInfoKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -1521,7 +972,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1531,8 +982,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetGLObjectInfo.html b/sdk/3.0/docs/man/html/clGetGLObjectInfo.html index 15ee878..981ebac 100644 --- a/sdk/3.0/docs/man/html/clGetGLObjectInfo.html +++ b/sdk/3.0/docs/man/html/clGetGLObjectInfo.html
@@ -767,19 +767,37 @@ <h1>clGetGLObjectInfo(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetGLObjectInfo - Query an OpenGL object used to create an OpenCL memory object.</p> +<p>clGetGLObjectInfo - Query OpenGL object and object type used to create an OpenCL memory object</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetGLObjectInfo(cl_mem memobj, - cl_gl_object_type *gl_object_type, - GLuint *gl_object_name)</code></pre> +<div class="paragraph"> +<p>To query the OpenGL object and object type used to create an OpenCL memory +object, call the function</p> </div> +<div id="clGetGLObjectInfo" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_int clGetGLObjectInfo( + cl_mem memobj, + cl_gl_object_type* gl_object_type, + cl_GLuint* gl_object_name);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetGLObjectInfo</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -789,19 +807,19 @@ <div class="ulist"> <ul> <li> -<p><em>memobj</em> - An OpenCL memory object handle.</p> +<p><em>memobj</em> is the memory object to query.</p> </li> <li> -<p><em>gl_object_type</em> - Returns the type of GL object attached to <em>memobj</em> -and can be <code>CL_GL_OBJECT_BUFFER</code>, <code>CL_GL_OBJECT_TEXTURE2D</code>, -<code>CL_GL_OBJECT_TEXTURE3D</code>, <code>CL_GL_OBJECT_TEXTURE2D_ARRAY</code>, -<code>CL_GL_OBJECT_TEXTURE1D</code>, <code>CL_GL_OBJECT_TEXTURE1D_ARRAY</code>, -<code>CL_GL_OBJECT_TEXTURE_BUFFER</code>, or <code>CL_GL_OBJECT_RENDERBUFFER</code>. If -<em>gl_object_type</em> is NULL, it is ignored.</p> +<p><em>gl_object_type</em> returns the type of OpenGL object attached to <em>memobj</em> +and can be <code>CL_GL_<wbr>OBJECT_<wbr>BUFFER</code>, <code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE2D</code>, +<code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE3D</code>, <code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE2D_<wbr>ARRAY</code>, +<code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE1D</code>, <code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE1D_<wbr>ARRAY</code>, +<code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE_<wbr>BUFFER</code>, or <code>CL_GL_<wbr>OBJECT_<wbr>RENDERBUFFER</code>. +If <em>gl_object_type</em> is <code>NULL</code>, it is ignored</p> </li> <li> -<p><em>gl_object_name</em> - Returns the GL object name used to create <em>memobj</em>. -If <em>gl_object_name</em> is NULL, it is ignored.</p> +<p><em>gl_object_name</em> returns the OpenGL object name used to create <em>memobj</em>. +If <em>gl_object_name</em> is <code>NULL</code>, it is ignored.</p> </li> </ul> </div> @@ -811,31 +829,26 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The OpenGL object used to create the OpenCL memory object and information about the object type i.e. -whether it is a texture, renderbuffer, or buffer object can be queried using this function.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the call was executed successfully. +<p><strong>clGetGLObjectInfo</strong> returns <code>CL_SUCCESS</code> if the call was executed +successfully. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if <em>memobj</em> is not a valid OpenCL memory object.</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if <em>memobj</em> is not a valid OpenCL memory object.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if there is no GL object associated with <em>memobj</em>.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if there is no OpenGL object associated with +<em>memobj</em>.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -845,8 +858,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="clGetGLTextureInfo.html">clGetGLTextureInfo</a></p> +<p><a href="cl_GLuint.html">cl_GLuint</a>, <a href="cl_gl_object_type.html">cl_gl_object_type</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem.html">cl_mem</a></p> </div> </div> </div> @@ -854,10 +866,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetGLObjectInfo" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetGLObjectInfo" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetGLObjectInfo</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -865,7 +878,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -875,8 +888,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetGLTextureInfo.html b/sdk/3.0/docs/man/html/clGetGLTextureInfo.html index 13e4161..d719483 100644 --- a/sdk/3.0/docs/man/html/clGetGLTextureInfo.html +++ b/sdk/3.0/docs/man/html/clGetGLTextureInfo.html
@@ -767,21 +767,39 @@ <h1>clGetGLTextureInfo(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clGetGLTextureInfo - Returns additional information about the GL texture object associated with a memory object.</p> +<p>clGetGLTextureInfo - Query additional information about the OpenGL texture object associated with an OpenCL memory object</p> </div> </div> <div id="content"> <div class="sect1"> <h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clGetGLTextureInfo(cl_mem memobj, - cl_gl_texture_info param_name, - size_t param_value_size, - void *param_value, - size_t *param_value_size_ret)</code></pre> +<div class="paragraph"> +<p>To query additional information about the OpenGL texture object associated +with an OpenCL memory object, call the function</p> </div> +<div id="clGetGLTextureInfo" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_gl_sharing +cl_int clGetGLTextureInfo( + cl_mem memobj, + cl_gl_texture_info param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetGLTextureInfo</strong> is provided by the <code>cl_khr_gl_sharing</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -791,32 +809,39 @@ <div class="ulist"> <ul> <li> -<p><em>memobj</em> - An OpenCL memory object handle.</p> +<p><em>memobj</em> is the memory object to query.</p> </li> <li> -<p><em>param_name</em> - Specifies what additional information about the GL -texture object associated with <em>memobj</em> to query. The list of supported -<em>param_name</em> types and the information returned in <em>param_value</em> by -<code>clGetGLTextureInfo</code> is described in the table below (Table 9.5).</p> +<p><em>param_name</em> specifies what additional information about the OpenGL +texture object associated with <em>memobj</em> to query. +The list of supported <em>param_name</em> types and the information returned in +<em>param_value</em> by <strong>clGetGLTextureInfo</strong> is described in the table below.</p> </li> <li> -<p><em>param_value</em> - A pointer to memory where the result being queried is -returned. If <em>param_value</em> is NULL, it is ignored.</p> +<p><em>param_value</em> is a pointer to memory where the result being queried is +returned. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> </li> <li> -<p><em>param_value_size</em> - Specifies the size in bytes of memory pointed to by -<em>param_value</em>. This size must be ≥ size of return type as described -in the table below.</p> +<p><em>param_value_size</em> is used to specify the size in bytes of memory +pointed to by <em>param_value</em>. +This size must be >= size of return type as described in the table +below.</p> </li> <li> -<p><em>param_value_size_ret</em> - Returns the actual size in bytes of data copied -to <em>param_value</em>. If <em>param_value_size_ret</em> is NULL, it is ignored.</p> -<div class="openblock"> -<div class="content"> -<div class="paragraph"> -<p>Table 9.5:</p> +<p><em>param_value_size_ret</em> returns the actual size in bytes of data copied +to <em>param_value</em>. +If <em>param_value_size_ret</em> is <code>NULL</code>, it is ignored.</p> +</li> +</ul> </div> -<table class="tableblock frame-all grid-all stretch"> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<table id="gl-texture-info-queries-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. OpenGL texture info that may be queried with <strong>clGetGLTextureInfo</strong></caption> <colgroup> <col style="width: 33.3333%;"> <col style="width: 33.3333%;"> @@ -824,81 +849,61 @@ </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top">cl_gl_texture_info</th> +<th class="tableblock halign-left valign-top"><code>cl_gl_<wbr>texture_<wbr>info</code></th> <th class="tableblock halign-left valign-top">Return Type</th> -<th class="tableblock halign-left valign-top">Information returned in <em>param_value</em></th> +<th class="tableblock halign-left valign-top">Info. Returned in <em>param_value</em></th> </tr> </thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_GL_TEXTURE_TARGET</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>GLenum</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>The <em>texture_target</em> argument specified in - <a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>.</p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_GL_<wbr>TEXTURE_<wbr>TARGET</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GLenum</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <em>texture_target</em> argument specified in <strong>clCreateFromGLTexture</strong>.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_GL_MIPMAP_LEVEL</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>GLint</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>The <em>miplevel</em> argument specified in <a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>.</p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_GL_<wbr>MIPMAP_<wbr>LEVEL</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GLint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <em>miplevel</em> argument specified in <strong>clCreateFromGLTexture</strong>.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_GL_NUM_SAMPLES</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>GLsizei</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>If the <a href="cl_khr_gl_msaa_sharing.html">cl_khr_gl_msaa_sharing</a> extension is supported, the - <em>samples</em> argument passed to <code>glTexImage2DMultisample</code> or - <code>glTexImage3DMultisample</code>. If <em>image</em> is not a MSAA texture, 1 is - returned.</p> -</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_GL_<wbr>NUM_<wbr>SAMPLES</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_msaa_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GLsizei</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <em>samples</em> argument passed to <code>glTexImage2DMultisample</code> or + <code>glTexImage3DMultisample</code>.</p> +<p class="tableblock"> If <em>image</em> is not a MSAA texture, 1 is returned.</p></td> </tr> </tbody> </table> -</div> -</div> -</li> -</ul> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> <div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully. +<p><strong>clGetGLTextureInfo</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_INVALID_MEM_OBJECT</code> if <em>memobj</em> is not a valid OpenCL memory object</p> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> if <em>memobj</em> is not a valid OpenCL memory object.</p> </li> <li> -<p><code>CL_INVALID_GL_OBJECT</code> if there is no GL texture object associated with <em>memobj</em>.</p> +<p><code>CL_INVALID_<wbr>GL_<wbr>OBJECT</code> if there is no OpenGL texture object associated +with <em>memobj</em>.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>param_name</em> is not valid, or if size in bytes specified by <em>param_value_size</em> is < size of return type as described in the table above and <em>param_value</em> is not NULL, or if <em>param_value</em> and <em>param_value_size_ret</em> are NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>param_name</em> is not valid, or if size in bytes +specified by <em>param_value_size</em> is less than the size of the return type +as described in the table above and <em>param_value</em> is not <code>NULL</code>, or if +<em>param_value</em> and <em>param_value_size_ret</em> are <code>NULL</code>.</p> </li> <li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources required by the OpenCL implementation on the device.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> </li> <li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources required by the OpenCL implementation on the host.</p> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> @@ -908,10 +913,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, -<a href="clGetGLObjectInfo.html">clGetGLObjectInfo</a>, -<a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>, -<a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a></p> +<p><a href="cl_gl_texture_info.html">cl_gl_texture_info</a>, <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a>, <a href="cl_mem.html">cl_mem</a></p> </div> </div> </div> @@ -919,10 +921,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetGLTextureInfo" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetGLTextureInfo" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#clGetGLTextureInfo</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -930,7 +933,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -940,8 +943,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetHostTimer.html b/sdk/3.0/docs/man/html/clGetHostTimer.html index c98cfc6..5659ba3 100644 --- a/sdk/3.0/docs/man/html/clGetHostTimer.html +++ b/sdk/3.0/docs/man/html/clGetHostTimer.html
@@ -779,7 +779,8 @@ </div> <div id="clGetHostTimer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetHostTimer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_int clGetHostTimer( cl_device_id device, cl_ulong* host_timestamp);</code></pre> </div> @@ -887,7 +888,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -897,8 +898,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetImageInfo.html b/sdk/3.0/docs/man/html/clGetImageInfo.html index 6dd989b..11c4f37 100644 --- a/sdk/3.0/docs/man/html/clGetImageInfo.html +++ b/sdk/3.0/docs/man/html/clGetImageInfo.html
@@ -781,7 +781,8 @@ </div> <div id="clGetImageInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetImageInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetImageInfo( cl_mem image, cl_image_info param_name, size_t param_value_size, @@ -924,6 +925,29 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return <code>num_samples</code> associated with <em>image</em>.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_IMAGE_<wbr>DX9_<wbr>MEDIA_<wbr>PLANE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>image</em> was created using <strong>clCreateFromDX9MediaSurfaceKHR</strong>, + returns the <em>plane</em> argument specified when <em>image</em> was created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_IMAGE_<wbr>D3D10_<wbr>SUBRESOURCE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>image</em> was created using <strong>clCreateFromD3D10Texture2DKHR</strong>, or + <strong>clCreateFromD3D10Texture3DKHR</strong>, returns the <em>subresource</em> argument + specified when <em>image</em> was created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_IMAGE_<wbr>D3D11_<wbr>SUBRESOURCE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>image</em> was created using <strong>clCreateFromD3D11Texture2DKHR</strong>, or + <strong>clCreateFromD3D11Texture3DKHR</strong>, returns the <em>subresource</em> argument + specified when <em>image</em> was created.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -952,6 +976,47 @@ </li> </ul> </div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>dx9_<wbr>media_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_IMAGE_<wbr>DX9_<wbr>MEDIA_<wbr>PLANE_<wbr>KHR</code> and <em>image</em> was not created by calling +<strong>clCreateFromDX9MediaSurfaceKHR</strong>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d10_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_IMAGE_<wbr>D3D10_<wbr>SUBRESOURCE_<wbr>KHR</code> and <em>image</em> was not created by the +function <strong>clCreateFromD3D10Texture2DKHR</strong>, or +<strong>clCreateFromD3D10Texture3DKHR</strong>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d11_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_IMAGE_<wbr>D3D11_<wbr>SUBRESOURCE_<wbr>KHR</code> and <em>image</em> was not created by the +function <strong>clCreateFromD3D11Texture2DKHR</strong>, or +<strong>clCreateFromD3D11Texture3DKHR</strong>.</p> +</li> +</ul> +</div> </div> </div> <div class="sect1"> @@ -978,7 +1043,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -988,8 +1053,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetKernelArgInfo.html b/sdk/3.0/docs/man/html/clGetKernelArgInfo.html index f868b0e..dd72f82 100644 --- a/sdk/3.0/docs/man/html/clGetKernelArgInfo.html +++ b/sdk/3.0/docs/man/html/clGetKernelArgInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetKernelArgInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetKernelArgInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clGetKernelArgInfo( cl_kernel kernel, cl_uint arg_index, cl_kernel_arg_info param_name, @@ -847,9 +848,22 @@ <div class="sectionbody"> <div class="paragraph"> <p>Kernel argument information is only available if the program object -associated with <em>kernel</em> is created with <strong>clCreateProgramWithSource</strong> and the -program executable was built with the <code>-cl-kernel-arg-info option</code> specified -in options argument to <strong>clBuildProgram</strong> or <strong>clCompileProgram</strong>.</p> +associated with <em>kernel</em>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>is created with <strong>clCreateProgramWithBinary</strong> and the program executable +is built with the <code>-cl-kernel-arg-info</code> and <code>-x spir</code> options specified +in the <em>options</em> argument to <strong>clBuildProgram</strong> or <strong>clCompileProgram</strong>, if +the <code>cl_khr_<wbr>spir</code> extension is supported; or,</p> +</li> +<li> +<p>is created with <strong>clCreateProgramWithSource</strong> and the program executable +is built with the <code>-cl-kernel-arg-info option</code> specified in the +<em>options</em> argument to <strong>clBuildProgram</strong> or <strong>clCompileProgram</strong>,</p> +</li> +</ul> </div> <table id="kernel-argument-info-table" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. List of supported param_names by <strong>clGetKernelArgInfo</strong></caption> @@ -917,14 +931,29 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Returns a bitfield describing one or more type qualifiers specified for the argument given by <em>arg_index</em>. The returned values can be:</p> -<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> - <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> - <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup><br> +<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code><br> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>RESTRICT</code><br> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>VOLATILE</code><br> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>PIPE</code>, or<br> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>NONE</code></p> -<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>NONE</code> is returned for all parameters passed by +<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> is returned if the kernel argument is a + pointer and the referenced type is declared with the <code>const</code> qualifier. + For example, a kernel argument declared as <code>global int const*</code> returns + <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> but a kernel argument declared as <code>global + int* const</code> does not. + Additionally, <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> is returned if the kernel + argument is declared with the <code>constant</code> address space qualifier.</p> +<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>RESTRICT</code> is returned if the pointer type is marked + <code>restrict</code>. + For example, <code>global int* restrict</code> returns + <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>RESTRICT</code>.</p> +<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>VOLATILE</code> is returned for + <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>QUALIFIER</code> if the kernel argument is a pointer and + the referenced type is declared with the <code>volatile</code> qualifier. + For example, a kernel argument declared as <code>global int volatile*</code> + returns <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>VOLATILE</code> but a kernel argument declared as + <code>global int* volatile</code> does not.</p> +<p class="tableblock"> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>NONE</code> is returned for all kernel arguments passed by value.</p></td> </tr> <tr> @@ -986,7 +1015,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -994,19 +1023,10 @@ </div> </div> </div> -<div id="footnotes"> -<hr> -<div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> is returned if the argument is a pointer and the referenced type is declared with the const qualifier. For example, a kernel argument declared as <code>global int const *x</code> returns <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> but a kernel argument declared as <code>global int * const x</code> does not.<br> Similarly, <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>RESTRICT</code> will be returned if the pointer type is marked <code>restrict</code>. For example, <code>global int * restrict x</code> returns <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>RESTRICT</code>.<br> <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>VOLATILE</code> is returned for <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>QUALIFIER</code> if the argument is a pointer and the referenced type is declared with the volatile qualifier. For example, a kernel argument declared as <code>global int volatile *x</code> returns <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>VOLATILE</code> but a kernel argument declared as <code>global int * volatile x</code> does not. -</div> -<div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>CONST</code> is returned for <code>CL_KERNEL_<wbr>ARG_<wbr>TYPE_<wbr>QUALIFIER</code> if the argument is declared with the <code>constant</code> address space qualifier. -</div> -</div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetKernelInfo.html b/sdk/3.0/docs/man/html/clGetKernelInfo.html index 8e7ba25..d4c0eb1 100644 --- a/sdk/3.0/docs/man/html/clGetKernelInfo.html +++ b/sdk/3.0/docs/man/html/clGetKernelInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetKernelInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetKernelInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetKernelInfo( cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size, @@ -939,7 +940,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -955,8 +956,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetKernelSubGroupInfo.html b/sdk/3.0/docs/man/html/clGetKernelSubGroupInfo.html index 1668069..cd946bd 100644 --- a/sdk/3.0/docs/man/html/clGetKernelSubGroupInfo.html +++ b/sdk/3.0/docs/man/html/clGetKernelSubGroupInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetKernelSubGroupInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetKernelSubGroupInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_int clGetKernelSubGroupInfo( cl_kernel kernel, cl_device_id device, cl_kernel_sub_group_info param_name, @@ -790,24 +791,14 @@ size_t* param_value_size_ret);</code></pre> </div> </div> -<div class="admonitionblock important"> -<table> -<tr> -<td class="icon"> -<i class="fa icon-important" title="Important"></i> -</td> -<td class="content"> -<strong>clGetKernelSubGroupInfo</strong> is <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>. -</td> -</tr> -</table> -</div> </div> </div> <div class="sect1"> -<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> +<div class="paragraph"> +<p>Also see <code>cl_khr_<wbr>subgroups</code>.</p> +</div> <div class="ulist"> <ul> <li> @@ -855,11 +846,6 @@ </li> </ul> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> -<div class="sectionbody"> <table id="kernel-sub-group-info-table" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. List of supported param_names by <strong>clGetKernelSubGroupInfo</strong></caption> <colgroup> @@ -879,8 +865,9 @@ <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_KERNEL_<wbr>MAX_<wbr>SUB_<wbr>GROUP_<wbr>SIZE_<wbr>FOR_<wbr>NDRANGE</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">The equivalent <code>CL_KERNEL_<wbr>MAX_<wbr>SUB_<wbr>GROUP_<wbr>SIZE_<wbr>FOR_<wbr>NDRANGE_<wbr>KHR</code> may be used if +the <code>cl_khr_<wbr>subgroups</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>*</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the maximum sub-group size for this kernel. @@ -895,8 +882,9 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_KERNEL_<wbr>SUB_<wbr>GROUP_<wbr>COUNT_<wbr>FOR_<wbr>NDRANGE</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">The equivalent <code>CL_KERNEL_<wbr>SUB_<wbr>GROUP_<wbr>COUNT_<wbr>FOR_<wbr>NDRANGE_<wbr>KHR</code> may be used if +the <code>cl_khr_<wbr>subgroups</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>*</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of sub-groups that will be present in each @@ -912,8 +900,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_KERNEL_<wbr>LOCAL_<wbr>SIZE_<wbr>FOR_<wbr>SUB_<wbr>GROUP_<wbr>COUNT</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">Also see <code>cl_khr_<wbr>subgroups</code>.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the local size that will generate the requested number @@ -933,8 +921,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_KERNEL_<wbr>MAX_<wbr>NUM_<wbr>SUB_<wbr>GROUPS</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">Also see <code>cl_khr_<wbr>subgroups</code>.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">ignored</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">This provides a mechanism for the application to query the @@ -949,8 +937,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_KERNEL_<wbr>COMPILE_<wbr>NUM_<wbr>SUB_<wbr>GROUPS</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_subgroups</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock">Also see <code>cl_khr_<wbr>subgroups</code>.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">ignored</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of sub-groups per work-group specified in the kernel @@ -1025,7 +1013,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1035,8 +1023,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetKernelSuggestedLocalWorkSizeKHR.html b/sdk/3.0/docs/man/html/clGetKernelSuggestedLocalWorkSizeKHR.html new file mode 100644 index 0000000..4422d2a --- /dev/null +++ b/sdk/3.0/docs/man/html/clGetKernelSuggestedLocalWorkSizeKHR.html
@@ -0,0 +1,988 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clGetKernelSuggestedLocalWorkSizeKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clGetKernelSuggestedLocalWorkSizeKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clGetKernelSuggestedLocalWorkSizeKHR - Query suggested local work size for a kernel object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To query a suggested local work size for a kernel object, call the function</p> +</div> +<div id="clGetKernelSuggestedLocalWorkSizeKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_suggested_local_work_size +cl_int clGetKernelSuggestedLocalWorkSizeKHR( + cl_command_queue command_queue, + cl_kernel kernel, + cl_uint work_dim, + const size_t* global_work_offset, + const size_t* global_work_size, + size_t* suggested_local_work_size);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetKernelSuggestedLocalWorkSizeKHR</strong> is provided by the <code>cl_khr_suggested_local_work_size</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_queue</em> specifies the command-queue and device for the query.</p> +</li> +<li> +<p><em>kernel</em> specifies the kernel object and kernel arguments for the query. +The OpenCL context associated with <em>kernel</em> and <em>command_queue</em> must the +same.</p> +</li> +<li> +<p><em>work_dim</em> specifies the number of work dimensions in the input global +work offset and global work size, and the output suggested local work +size.</p> +</li> +<li> +<p><em>global_work_offset</em> can be used to specify an array of at least +<em>work_dim</em> global ID offset values for the query. +This is optional and may be <code>NULL</code> to indicate there is no global ID +offset.</p> +</li> +<li> +<p><em>global_work_size</em> is an array of at least <em>work_dim</em> values describing +the global work size for the query.</p> +</li> +<li> +<p><em>suggested_local_work_size</em> is an output array of at least <em>work_dim</em> +values that will contain the result of the query.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The returned suggested local work size is expected to match the local work +size that would be chosen if the specified kernel object, with the same +kernel arguments, were enqueued into the specified command-queue with the +specified global work size, specified global work offset, and with a <code>NULL</code> +local work size.</p> +</div> +<div class="paragraph"> +<p><strong>clGetKernelSuggestedLocalWorkSizeKHR</strong> returns <code>CL_SUCCESS</code> if the query +executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if <em>command_queue</em> is not a valid host +command-queue.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>KERNEL</code> if <em>kernel</em> is not a valid kernel object.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if the context associated with <em>kernel</em> is not the +same as the context associated with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>PROGRAM_<wbr>EXECUTABLE</code> if there is no successfully built +program executable available for <em>kernel</em> for the device associated with +<em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>KERNEL_<wbr>ARGS</code> if all argument values for <em>kernel</em> have not +been set.</p> +</li> +<li> +<p><code>CL_MISALIGNED_<wbr>SUB_<wbr>BUFFER_<wbr>OFFSET</code> if a sub-buffer object is set as an +argument to <em>kernel</em> and the offset specified when the sub-buffer object +was created is not aligned to <code>CL_DEVICE_<wbr>MEM_<wbr>BASE_<wbr>ADDR_<wbr>ALIGN</code> for the +device associated with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>IMAGE_<wbr>SIZE</code> if an image object is set as an argument to +<em>kernel</em> and the image dimensions are not supported by device associated +with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_IMAGE_<wbr>FORMAT_<wbr>NOT_<wbr>SUPPORTED</code> if an image object is set as an argument +to <em>kernel</em> and the image format is not supported by the device +associated with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if an SVM pointer is set as an argument to +<em>kernel</em> and the device associated with <em>command_queue</em> does not support +SVM or the required SVM capabilities for the SVM pointer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>WORK_<wbr>DIMENSION</code> if <em>work_dim</em> is not a valid value (i.e. a +value between 1 and <code>CL_DEVICE_<wbr>MAX_<wbr>WORK_<wbr>ITEM_<wbr>DIMENSIONS</code>).</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>GLOBAL_<wbr>WORK_<wbr>SIZE</code> if <em>global_work_size</em> is NULL or if any of +the values specified in <em>global_work_size</em> are 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>GLOBAL_<wbr>WORK_<wbr>SIZE</code> if any of the values specified in +<em>global_work_size</em> exceed the maximum value representable by <code>size_t</code> on +the device associated with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>GLOBAL_<wbr>OFFSET</code> if the value specified in <em>global_work_size</em> +plus the corresponding value in <em>global_work_offset</em> for dimension +exceeds the maximum value representable by <code>size_t</code> on the device +associated with <em>command_queue</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>suggested_local_work_size</em> is NULL.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +These error conditions are consistent with error conditions for +<strong>clEnqueueNDRangeKernel</strong>. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_kernel.html">cl_kernel</a>, <a href="cl_khr_suggested_local_work_size.html">cl_khr_suggested_local_work_size</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetKernelSuggestedLocalWorkSizeKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clGetKernelWorkGroupInfo.html b/sdk/3.0/docs/man/html/clGetKernelWorkGroupInfo.html index c5fa66e..bc30c92 100644 --- a/sdk/3.0/docs/man/html/clGetKernelWorkGroupInfo.html +++ b/sdk/3.0/docs/man/html/clGetKernelWorkGroupInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetKernelWorkGroupInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetKernelWorkGroupInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetKernelWorkGroupInfo( cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name, @@ -982,7 +983,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -992,8 +993,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetMemObjectInfo.html b/sdk/3.0/docs/man/html/clGetMemObjectInfo.html index f06176d..00d2f89 100644 --- a/sdk/3.0/docs/man/html/clGetMemObjectInfo.html +++ b/sdk/3.0/docs/man/html/clGetMemObjectInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetMemObjectInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetMemObjectInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetMemObjectInfo( cl_mem memobj, cl_mem_info param_name, size_t param_value_size, @@ -958,6 +959,38 @@ must return <em>param_value_size_ret</em> equal to 0, indicating that there are no properties to be returned.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>TYPE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>type_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>memobj</em> was created using <strong>clCreateFromDX9MediaSurfaceKHR</strong>, + returns the <em>adapter_type</em> argument specified when <em>memobj</em> was + created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>INFO_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_dx9_media_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_dx9_<wbr>surface_<wbr>info_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>memobj</em> was created using <strong>clCreateFromDX9MediaSurfaceKHR</strong>, + returns the <em>surface_info</em> argument specified when <em>memobj</em> was + created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d10_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D10Resource *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>memobj</em> was created using <strong>clCreateFromD3D10BufferKHR</strong>, + <strong>clCreateFromD3D10Texture2DKHR</strong>, or <strong>clCreateFromD3D10Texture3DKHR</strong>, + returns the <em>resource</em> argument specified when <em>memobj</em> was created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MEM_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_d3d11_sharing</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ID3D11Resource *</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If <em>memobj</em> was created using <strong>clCreateFromD3D11BufferKHR</strong>, + <strong>clCreateFromD3D11Texture2DKHR</strong>, or <strong>clCreateFromD3D11Texture3DKHR</strong>, + returns the <em>resource</em> argument specified when <em>memobj</em> was created.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -986,6 +1019,47 @@ </li> </ul> </div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>dx9_<wbr>media_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_MEM_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>INFO_<wbr>KHR</code> and <em>memobj</em> was not created by +calling <strong>clCreateFromDX9MediaSurfaceKHR</strong> from a Direct3D9 surface.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d10_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_MEM_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> and <em>memobj</em> was not created by calling +<strong>clCreateFromD3D10BufferKHR</strong>, <strong>clCreateFromD3D10Texture2DKHR</strong>, or +<strong>clCreateFromD3D10Texture3DKHR</strong>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The following errors may be returned if the <code>cl_khr_<wbr>d3d11_<wbr>sharing</code> +extension is supported:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> if <em>param_name</em> is +<code>CL_MEM_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code> and <em>memobj</em> was not created by calling +<strong>clCreateFromD3D11BufferKHR</strong>, <strong>clCreateFromD3D11Texture2DKHR</strong>, or +<strong>clCreateFromD3D11Texture3DKHR</strong>.</p> +</li> +</ul> +</div> </div> </div> <div class="sect1"> @@ -1012,7 +1086,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1031,8 +1105,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetMutableCommandInfoKHR.html b/sdk/3.0/docs/man/html/clGetMutableCommandInfoKHR.html new file mode 100644 index 0000000..0411fd6 --- /dev/null +++ b/sdk/3.0/docs/man/html/clGetMutableCommandInfoKHR.html
@@ -0,0 +1,1040 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clGetMutableCommandInfoKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clGetMutableCommandInfoKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clGetMutableCommandInfoKHR - Query information about a mutable command object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To query information about a mutable command object, call the function</p> +</div> +<div id="clGetMutableCommandInfoKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_mutable_dispatch +cl_int clGetMutableCommandInfoKHR( + cl_mutable_command_khr command, + cl_mutable_command_info_khr param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetMutableCommandInfoKHR</strong> is provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command</em> specifies the mutable-command object being queried.</p> +</li> +<li> +<p><em>param_name</em> specifies the information to query. +The list of supported <em>param_name</em> types and the information returned in +<em>param_value</em> by <strong>clGetMutableCommandInfoKHR</strong> is described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#mutable-command-object-queries" target="_blank" rel="noopener">Mutable Command Object Queries</a> +table.</p> +</li> +<li> +<p><em>param_value_size</em> is used to specify the size in bytes of memory +pointed to by <em>param_value</em>. +This size must be ≥ size of return type as described in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#mutable-command-object-queries" target="_blank" rel="noopener">Mutable Command Object Queries</a> +table.</p> +</li> +<li> +<p><em>param_value</em> is a pointer to memory where the appropriate result being +queried is returned. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>param_value_size_ret</em> returns the actual size in bytes of data being +queried by <em>param_name</em>. +If <em>param_value_size_ret</em> is <code>NULL</code>, it is ignored.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<table id="mutable-command-object-queries" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. <em>Mutable Command Object Queries</em></caption> +<colgroup> +<col style="width: 33%;"> +<col style="width: 17%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Mutable Command Info</th> +<th class="tableblock halign-left valign-top">Return Type</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>queue</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the command-queue associated with <em>command</em>. + If <code>NULL</code> was passed as the queue when <em>command</em> was recorded, then + the queue associated with the command-buffer that <em>command</em> belongs to + is returned.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>buffer_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the command-buffer associated with <em>command</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>TYPE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_command_<wbr>type</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the command-type associated with <em>command</em>.</p> +<p class="tableblock"> The list of supported event command types defined by <strong>clGetEventInfo</strong> + is used with the matching command.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>PROPERTIES_<wbr>ARRAY_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_ndrange_<wbr>kernel_<wbr>command_<wbr>properties_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the properties argument specified on <em>command</em> recording with + <strong>clCommandNDRangeKernelKHR</strong>.</p> +<p class="tableblock"> If the properties argument specified on creation of <em>command</em> was not + <code>NULL</code>, the implementation must return the values specified in the + properties argument in the same order and without including additional + properties.</p> +<p class="tableblock"> If the properties argument specified on creation of <em>command</em> was + <code>NULL</code>, or <em>command</em> was not recorded from a + <strong>clCommandNDRangeKernelKHR</strong> command, the implementation must return + <em>param_value_size_ret</em> equal to 0, indicating that there are no + properties to be returned.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>KERNEL_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_kernel</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the kernel associated with <em>command</em> when recorded with + <strong>clCommandNDRangeKernelKHR</strong>.</p> +<p class="tableblock"> If <em>command</em> was not recorded from a <strong>clCommandNDRangeKernelKHR</strong> + command, the implementation must return <em>param_value_size_ret</em> equal + to 0, indicating that the value returned in <em>param_value</em> is not + valid.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>DIMENSIONS_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of work-item dimensions specified when <em>command</em> was + created.</p> +<p class="tableblock"> If <em>command</em> was not recorded from a <strong>clCommandNDRangeKernelKHR</strong> + command, the implementation must return <em>param_value_size_ret</em> equal + to 0, indicating that the value returned in <em>param_value</em> is not + valid.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>WORK_<wbr>OFFSET_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the global work-item offset set on <em>command</em> creation, or from + the most recent update via <strong>clUpdateMutableCommandsKHR</strong> where this + value was modified. + The output array contains <em>work_dim</em> values, where <em>work_dim</em> is + returned by the query <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>DIMENSIONS_<wbr>KHR</code>. + If a global work-item offset was not set, zero is returned for each + element in the array.</p> +<p class="tableblock"> If <em>command</em> was not recorded from a <strong>clCommandNDRangeKernelKHR</strong> + command, the implementation must return <em>param_value_size_ret</em> equal + to 0, indicating that the value returned in <em>param_value</em> is not + valid.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>WORK_<wbr>SIZE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the global work-item size set on <em>command</em> creation, or from + the most recent update via <strong>clUpdateMutableCommandsKHR</strong> where this + value was modified. + The output array contains <em>work_dim</em> values, where <em>work_dim</em> is + returned by the query <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>DIMENSIONS_<wbr>KHR</code>. + If a global work-item size was not set, zero is returned for each + element in the array.</p> +<p class="tableblock"> If <em>command</em> was not recorded from a <strong>clCommandNDRangeKernelKHR</strong> + command, the implementation must return <em>param_value_size_ret</em> equal + to 0, indicating that the value returned in <em>param_value</em> is not + valid.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>WORK_<wbr>SIZE_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>size_t</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the local work-item size set on <em>command</em> creation, or from the + most recent update via <strong>clUpdateMutableCommandsKHR</strong> where this value + was modified. + The output array contains <em>work_dim</em> values, where <em>work_dim</em> is + returned by the query <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>DIMENSIONS_<wbr>KHR</code>. + If a local work-item size was not set, zero is returned for each + element in the array.</p> +<p class="tableblock"> If <em>command</em> was not recorded from a <strong>clCommandNDRangeKernelKHR</strong> + command, the implementation must return <em>param_value_size_ret</em> equal + to 0, indicating that the value returned in <em>param_value</em> is not + valid.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p><strong>clGetMutableCommandInfoKHR</strong> returns <code>CL_SUCCESS</code> if the function is +executed successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>param_name</em> is not valid, or if size in bytes +specified by <em>param_value_size</em> is < size of return type as described in +the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#mutable-command-object-queries" target="_blank" rel="noopener">Mutable Command Object Queries</a> +table and <em>param_value</em> is not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>MUTABLE_<wbr>COMMAND_<wbr>KHR</code> if <em>command</em> is not a valid mutable +command object.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_command_info_khr.html">cl_mutable_command_info_khr</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetMutableCommandInfoKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clGetPipeInfo.html b/sdk/3.0/docs/man/html/clGetPipeInfo.html index dfcfcb8..0728b46 100644 --- a/sdk/3.0/docs/man/html/clGetPipeInfo.html +++ b/sdk/3.0/docs/man/html/clGetPipeInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetPipeInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetPipeInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clGetPipeInfo( cl_mem pipe, cl_pipe_info param_name, size_t param_value_size, @@ -935,7 +936,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -945,8 +946,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetPlatformIDs.html b/sdk/3.0/docs/man/html/clGetPlatformIDs.html index d25abfa..b384fa9 100644 --- a/sdk/3.0/docs/man/html/clGetPlatformIDs.html +++ b/sdk/3.0/docs/man/html/clGetPlatformIDs.html
@@ -779,7 +779,8 @@ </div> <div id="clGetPlatformIDs" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetPlatformIDs( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetPlatformIDs( cl_uint num_entries, cl_platform_id* platforms, cl_uint* num_platforms);</code></pre> @@ -795,12 +796,12 @@ <li> <p><em>num_entries</em> is the number of <code>cl_platform_<wbr>id</code> entries that can be added to <em>platforms</em>. -If <em>platforms</em> is not <code>NULL</code>, the <em>num_entries</em> must be greater than zero.</p> +If <em>platforms</em> is not <code>NULL</code>, <em>num_entries</em> must be greater than zero.</p> </li> <li> <p><em>platforms</em> returns a list of OpenCL platforms found. -The <code>cl_platform_<wbr>id</code> values returned in <em>platforms</em> can be used to identify a -specific OpenCL platform. +The <code>cl_platform_<wbr>id</code> values returned in <em>platforms</em> can be used to +identify a specific OpenCL platform. If <em>platforms</em> is <code>NULL</code>, this argument is ignored. The number of OpenCL platforms returned is the minimum of the value specified by <em>num_entries</em> or the number of OpenCL platforms available.</p> @@ -818,12 +819,17 @@ <div class="sectionbody"> <div class="paragraph"> <p><strong>clGetPlatformIDs</strong> returns <code>CL_SUCCESS</code> if the function is executed -successfully. +and, if the <code>cl_khr_<wbr>icd</code> extension is supported, there are a non-zero +number of platforms available. Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> +<p><code>CL_PLATFORM_<wbr>NOT_<wbr>FOUND_<wbr>KHR</code> if the <code>cl_khr_<wbr>icd</code> extension is +supported and zero platforms are available.</p> +</li> +<li> <p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_entries</em> is equal to zero and <em>platforms</em> is not <code>NULL</code> or if both <em>num_platforms</em> and <em>platforms</em> are <code>NULL</code>.</p> </li> @@ -859,7 +865,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -869,8 +875,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetPlatformInfo.html b/sdk/3.0/docs/man/html/clGetPlatformInfo.html index c72dd01..3576c81 100644 --- a/sdk/3.0/docs/man/html/clGetPlatformInfo.html +++ b/sdk/3.0/docs/man/html/clGetPlatformInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetPlatformInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetPlatformInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetPlatformInfo( cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, @@ -878,8 +879,12 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>NUMERIC_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_version</code></p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_PLATFORM_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_version</code></p> +<p class="tableblock">or <code>cl_version_<wbr>khr</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the detailed (major, minor, patch) version supported by the platform. The major and minor version numbers returned must match those returned via <code>CL_PLATFORM_<wbr>VERSION</code>.</p></td> @@ -905,8 +910,12 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 3.0.</p> +<p class="tableblock">or</p> +<p class="tableblock"><code>CL_PLATFORM_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_extended_versioning</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_name_<wbr>version</code>[]</p> +<p class="tableblock">or <code>cl_name_<wbr>version_<wbr>khr</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns an array of description (name and version) structures that lists all the extensions supported by the platform. The same extension name must not be reported more than once. The list of extensions reported @@ -923,6 +932,70 @@ This value must be 0 for devices that do not support device and host timer synchronization.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>COMMAND_<wbr>BUFFER_<wbr>CAPABILITIES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_platform_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Describes platform command-buffer capabilities, encoded as bits in a + bitfield. + Supported capabilities are:</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>UNIVERSAL_<wbr>SYNC_<wbr>KHR</code> - Platform + supports the ability to synchronize all commands in a command-buffer + using sync-points, irrespective of the queue the individual commands + are recorded to.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>REMAP_<wbr>QUEUES_<wbr>KHR</code> - Platform + supports the ability to create a deep copy of an existing + command-buffer with the commands explicitly remapped to different, + potentially <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">incompatible</a>, queues.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p> +<p class="tableblock"> <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>AUTOMATIC_<wbr>REMAP_<wbr>KHR</code> - Platform + supports the ability to create a remapped command-buffer where the + mapping of commands to queues is done by the OpenCL runtime in a way + it determines as optimal. + If <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>AUTOMATIC_<wbr>REMAP_<wbr>KHR</code> is reported, + <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>REMAP_<wbr>QUEUES_<wbr>KHR</code> must also be reported.</p> +<p class="tableblock">provided by the <code>cl_khr_command_buffer_multi_device</code> extension.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_memory</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of importable external memory handle types + supported by all devices in <em>platform</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of the semaphore types supported all devices in + <em>platform</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of importable external semaphore handle types + supported by all devices in <em>platform</em>.</p> +<p class="tableblock"> The size of this query may be 0 if no importable external semaphore + handle types are supported by all devices in <em>platform</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_external_semaphore</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of exportable external semaphore handle types + supported by all devices in the platform.</p> +<p class="tableblock"> This size of this query may be 0 if no exportable external semaphore + handle types are supported by all devices in <em>platform</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PLATFORM_<wbr>ICD_<wbr>SUFFIX_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_icd</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>char</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The function name suffix used to identify extension functions to be + directed to this platform by the ICD Loader.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -974,7 +1047,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -996,8 +1069,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetProgramBuildInfo.html b/sdk/3.0/docs/man/html/clGetProgramBuildInfo.html index 15f96c9..c9a5fa3 100644 --- a/sdk/3.0/docs/man/html/clGetProgramBuildInfo.html +++ b/sdk/3.0/docs/man/html/clGetProgramBuildInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clGetProgramBuildInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetProgramBuildInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetProgramBuildInfo( cl_program program, cl_device_id device, cl_program_build_info param_name, @@ -908,7 +909,16 @@ associated with <em>device</em>. This is the case when the specified <em>program</em> object was linked by <strong>clLinkProgram</strong> without the <code>-create-library</code> link option, or when an - executable binary was built using <strong>clBuildProgram</strong>.</p></td> + executable binary was built using <strong>clBuildProgram</strong>.</p> +<p class="tableblock"> <code>CL_PROGRAM_<wbr>BINARY_<wbr>TYPE_<wbr>INTERMEDIATE</code> — An intermediate + (non-source) representation for the program is loaded as a binary. + The program must be further processed with <strong>clCompileProgram</strong> or + <strong>clBuildProgram</strong>.</p> +<p class="tableblock"> If processed with <strong>clCompileProgram</strong>, the result will be a binary of + type <code>CL_PROGRAM_<wbr>BINARY_<wbr>TYPE_<wbr>COMPILED_<wbr>OBJECT</code> or + <code>CL_PROGRAM_<wbr>BINARY_<wbr>TYPE_<wbr>LIBRARY</code>. + If processed with <strong>clBuildProgram</strong>, the result will be a binary of + type <code>CL_PROGRAM_<wbr>BINARY_<wbr>TYPE_<wbr>EXECUTABLE</code>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROGRAM_<wbr>BUILD_<wbr>GLOBAL_<wbr>VARIABLE_<wbr>TOTAL_<wbr>SIZE</code></p> @@ -998,7 +1008,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1008,8 +1018,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetProgramInfo.html b/sdk/3.0/docs/man/html/clGetProgramInfo.html index 223f17e..fc9f149 100644 --- a/sdk/3.0/docs/man/html/clGetProgramInfo.html +++ b/sdk/3.0/docs/man/html/clGetProgramInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetProgramInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetProgramInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetProgramInfo( cl_program program, cl_program_info param_name, size_t param_value_size, @@ -874,25 +875,28 @@ specified to <strong>clCreateProgramWithSource</strong> with a null terminator. The concatenation strips any nulls in the original source strings.</p> <p class="tableblock"> If <em>program</em> is created using <strong>clCreateProgramWithBinary</strong>, - <strong>clCreateProgramWithIL</strong> or <strong>clCreateProgramWithBuiltInKernels</strong>, a - null string or the appropriate program source code is returned - depending on whether or not the program source code is stored in the - binary.</p> + <strong>clCreateProgramWithIL</strong>, +<strong>clCreateProgramWithILKHR</strong>, + or <strong>clCreateProgramWithBuiltInKernels</strong>, a null string or the + appropriate program source code is returned depending on whether or + not the program source code is stored in the binary.</p> <p class="tableblock"> The actual number of characters that represents the program source code including the null terminator is returned in <em>param_value_size_ret</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROGRAM_<wbr>IL</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1. -Also see extension <strong>cl_khr_il_program</strong>.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.1.</p> +<p class="tableblock"><code>CL_PROGRAM_<wbr>IL_<wbr>KHR</code></p> +<p class="tableblock">provided by the <code>cl_khr_il_program</code> extension.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>char</code>[]</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the program IL for programs created with +<strong>clCreateProgramWithILKHR</strong> or <strong>clCreateProgramWithIL</strong>.</p> <p class="tableblock"> If <em>program</em> is created with <strong>clCreateProgramWithSource</strong>, <strong>clCreateProgramWithBinary</strong> or <strong>clCreateProgramWithBuiltInKernels</strong> the memory pointed to by param_value will be unchanged and - param_value_size_retwill be set to 0.</p></td> + <em>param_value_size_ret</em> will be set to 0.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_PROGRAM_<wbr>BINARY_<wbr>SIZES</code></p></td> @@ -1053,7 +1057,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1069,8 +1073,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetSamplerInfo.html b/sdk/3.0/docs/man/html/clGetSamplerInfo.html index c85561a..92c8a01 100644 --- a/sdk/3.0/docs/man/html/clGetSamplerInfo.html +++ b/sdk/3.0/docs/man/html/clGetSamplerInfo.html
@@ -779,7 +779,8 @@ </div> <div id="clGetSamplerInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetSamplerInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetSamplerInfo( cl_sampler sampler, cl_sampler_info param_name, size_t param_value_size, @@ -935,7 +936,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -951,8 +952,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clGetSemaphoreHandleForTypeKHR.html b/sdk/3.0/docs/man/html/clGetSemaphoreHandleForTypeKHR.html new file mode 100644 index 0000000..ff6cc38 --- /dev/null +++ b/sdk/3.0/docs/man/html/clGetSemaphoreHandleForTypeKHR.html
@@ -0,0 +1,930 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clGetSemaphoreHandleForTypeKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clGetSemaphoreHandleForTypeKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clGetSemaphoreHandleForTypeKHR - Export external handle from a semaphore</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To export an external handle from a semaphore, call the function</p> +</div> +<div id="clGetSemaphoreHandleForTypeKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_external_semaphore +cl_int clGetSemaphoreHandleForTypeKHR( + cl_semaphore_khr sema_object, + cl_device_id device, + cl_external_semaphore_handle_type_khr handle_type, + size_t handle_size, + void* handle_ptr, + size_t* handle_size_ret);</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>sema_object</em> specifies a valid semaphore object with exportable +properties.</p> +</li> +<li> +<p><em>device</em> specifies a valid device for which a semaphore handle is being +requested.</p> +</li> +<li> +<p><em>handle_type</em> specifies the type of semaphore handle that should be +returned for this exportable <em>sema_object</em>, and must be one of the +values specified when <em>sema_object</em> was created.</p> +</li> +<li> +<p><em>handle_size</em> specifies the size of memory pointed by <em>handle_ptr</em>.</p> +</li> +<li> +<p><em>handle_ptr</em> is a pointer to memory where the exported external handle +is returned. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>handle_size_ret</em> returns the actual size in bytes for the external +handle. +If <em>handle_size_ret</em> is <code>NULL</code>, it is ignored.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clGetSemaphoreHandleForTypeKHR</strong> returns <code>CL_SUCCESS</code> if the semaphore +handle is queried successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>sema_object</em> is not a valid semaphore</p> +</li> +<li> +<p>if <em>sema_object</em> is not exportable</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>DEVICE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>device</em> is not a valid device, or</p> +</li> +<li> +<p>if <em>sema_object</em> belongs to a context that is not associated with +<em>device</em>, or</p> +</li> +<li> +<p>if <em>sema_object</em> can not be shared with <em>device</em>.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the requested external semaphore handle type was +not specified when <em>sema_object</em> was created.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>handle_size</em> is less than the size needed to +store the returned handle.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_device_id.html">cl_device_id</a>, <a href="cl_external_semaphore_handle_type_khr.html">cl_external_semaphore_handle_type_khr</a>, <a href="cl_khr_external_semaphore.html">cl_khr_external_semaphore</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetSemaphoreHandleForTypeKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clGetSemaphoreInfoKHR.html b/sdk/3.0/docs/man/html/clGetSemaphoreInfoKHR.html new file mode 100644 index 0000000..1b76bb0 --- /dev/null +++ b/sdk/3.0/docs/man/html/clGetSemaphoreInfoKHR.html
@@ -0,0 +1,1003 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clGetSemaphoreInfoKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clGetSemaphoreInfoKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clGetSemaphoreInfoKHR - Query information about a semaphore object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To query information about a semaphore object, call the function</p> +</div> +<div id="clGetSemaphoreInfoKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_int clGetSemaphoreInfoKHR( + cl_semaphore_khr sema_object, + cl_semaphore_info_khr param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clGetSemaphoreInfoKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>sema_object</em> specifies the semaphore object being queried.</p> +</li> +<li> +<p><em>param_name</em> is a constant that specifies the semaphore information to +query, and must be one of the values shown in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore_info-table" target="_blank" rel="noopener">Semaphore Queries</a> table.</p> +</li> +<li> +<p><em>param_value</em> is a pointer to memory where the result of the query is +returned as described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore_info-table" target="_blank" rel="noopener">Semaphore +Queries</a> table. +If <em>param_value</em> is <code>NULL</code>, it is ignored.</p> +</li> +<li> +<p><em>param_value_size</em> specifies the size in bytes of memory pointed to +<em>param_value</em>. +This size must be greater than or equal to the size of the return type +described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore_info-table" target="_blank" rel="noopener">Semaphore Queries</a> +table.</p> +</li> +<li> +<p><em>param_value_size_ret</em> returns the actual size in bytes of data being +queried by <em>param_value</em>. +If <em>param_value_size_ret</em> is <code>NULL</code>, it is ignored.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<table id="cl_khr_semaphore_info-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. List of parameter names supported by <strong>clGetSemaphoreInfoKHR</strong></caption> +<colgroup> +<col style="width: 33%;"> +<col style="width: 17%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Semaphore Info</th> +<th class="tableblock halign-left valign-top">Return Type</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>CONTEXT_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_context</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the context specified when the semaphore is created.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>REFERENCE_<wbr>COUNT_<wbr>KHR</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_uint</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the semaphore reference count.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>PROPERTIES_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>properties_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the properties argument specified in + <strong>clCreateSemaphoreWithPropertiesKHR</strong>.</p> +<p class="tableblock"> The implementation must return the values specified in the + properties argument in the same order and without including + additional properties.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>TYPE_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>type_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the semaphore type.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>PAYLOAD_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_semaphore_<wbr>payload_<wbr>khr</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the semaphore payload value. + For semaphores of type <code>CL_SEMAPHORE_<wbr>TYPE_<wbr>BINARY_<wbr>KHR</code> the payload + value returned will be <code>0</code> if the semaphore is in an un-signaled + state, and <code>1</code> if it is in a signaled state.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_device_<wbr>id</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of OpenCL devices the semaphore is associated with.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of external semaphore handle types that may be used + for exporting. + The size of this query may be 0 indicating that this semaphore does + not support any handle types for exporting.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SEMAPHORE_<wbr>EXPORTABLE_<wbr>KHR</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_bool</code>[]</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <code>CL_TRUE</code> if the semaphore is exportable and <code>CL_FALSE</code> + otherwise.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p><strong>clGetSemaphoreInfoKHR</strong> returns <code>CL_SUCCESS</code> if the information is queried +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>sema_object</em> is not a valid semaphore</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>param_name</em> is not one of the attribute defined in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore_info-table" target="_blank" rel="noopener">Semaphore Queries</a> table or</p> +</li> +<li> +<p>if <em>param_value_size</em> is less than the size of Return Type of the +corresponding <em>param_name</em> attribute as defined in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore_info-table" target="_blank" rel="noopener">Semaphore Queries</a> table.</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_info_khr.html">cl_semaphore_info_khr</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clGetSemaphoreInfoKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. The reference count returned should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for identifying memory leaks. +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clGetSupportedImageFormats.html b/sdk/3.0/docs/man/html/clGetSupportedImageFormats.html index 3959c2c..1325829 100644 --- a/sdk/3.0/docs/man/html/clGetSupportedImageFormats.html +++ b/sdk/3.0/docs/man/html/clGetSupportedImageFormats.html
@@ -780,7 +780,8 @@ </div> <div id="clGetSupportedImageFormats" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clGetSupportedImageFormats( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clGetSupportedImageFormats( cl_context context, cl_mem_flags flags, cl_mem_object_type image_type, @@ -906,7 +907,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -916,8 +917,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clIcdGetPlatformIDsKHR.html b/sdk/3.0/docs/man/html/clIcdGetPlatformIDsKHR.html index f81eae0..19b85cc 100644 --- a/sdk/3.0/docs/man/html/clIcdGetPlatformIDsKHR.html +++ b/sdk/3.0/docs/man/html/clIcdGetPlatformIDsKHR.html
@@ -767,18 +767,37 @@ <h1>clIcdGetPlatformIDsKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clIcdGetPlatformIDsKHR - Obtain the list of platforms accessible through the Khronos ICD Loader.</p> +<p>clIcdGetPlatformIDsKHR - Query platforms accessible through the Khronos ICD Loader</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clIcdGetPlatformIDsKHR(cl_uint num_entries, - cl_platform_id *platforms, - cl_uint *num_platforms)</code></pre> +<div class="paragraph"> +<p>To obtain the list of platforms accessible through the Khronos ICD Loader, +call the function:</p> </div> +<div id="clIcdGetPlatformIDsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_icd +cl_int clIcdGetPlatformIDsKHR( + cl_uint num_entries, + cl_platform_id* platforms, + cl_uint* num_platforms);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clIcdGetPlatformIDsKHR</strong> is provided by the <code>cl_khr_icd</code> extension. +</td> +</tr> +</table> </div> </div> </div> @@ -788,50 +807,44 @@ <div class="ulist"> <ul> <li> -<p><em>num_entries</em> - The number of <code>cl_platform_id</code> entries that can be added -to <em>platforms</em>. If <em>platforms</em> is not NULL, then <em>num_entries</em> must be -greater than zero.</p> +<p><em>num_entries</em> is the number of <code>cl_platform_<wbr>id</code> entries that can be +added to <em>platforms</em>. +If <em>platforms</em> is not <code>NULL</code>, then <em>num_entries</em> must be greater than +zero.</p> </li> <li> -<p><em>platforms</em> - Returns a list of OpenCL platforms available for access -through the Khronos ICD Loader. The <code>cl_platform_id</code> values returned in -<em>platforms</em> are ICD compatible and can be used to identify a specific -OpenCL platform. If <em>platforms</em> is NULL, then this argument is ignored. +<p><em>platforms</em> returns a list of OpenCL platforms available for access +through the Khronos ICD Loader. +The <code>cl_platform_<wbr>id</code> values returned in <em>platforms</em> are ICD +compatible and can be used to identify a specific OpenCL platform. +If the <em>platforms</em> argument is <code>NULL</code>, then this argument is ignored. The number of OpenCL platforms returned is the minimum of the value specified by <em>num_entries</em> or the number of OpenCL platforms available.</p> </li> <li> -<p><em>num_platforms</em> - Returns the number of OpenCL platforms available. If -<em>num_platforms</em> is NULL, then this argument is ignored.</p> +<p><em>num_platforms</em> returns the number of OpenCL platforms available. +If <em>num_platforms</em> is <code>NULL</code>, then this argument is ignored.</p> </li> </ul> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This function is enabled by the -<a href="cl_khr_icd.html">cl_khr_icd</a> extension.</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>Returns <code>CL_SUCCESS</code> if the function is executed successfully and there are -a non zero number of platforms available, else it returns on the errors -below:</p> +<p><strong>clIcdGetPlatformIDsKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully and there are a non zero number of platforms available. +Otherwise, it returns one of the following errors:</p> </div> <div class="ulist"> <ul> <li> -<p><code>CL_PLATFORM_NOT_FOUND_KHR</code> if zero platforms are available.</p> +<p><code>CL_PLATFORM_<wbr>NOT_<wbr>FOUND_<wbr>KHR</code> if zero platforms are available.</p> </li> <li> -<p><code>CL_INVALID_VALUE</code> if <em>num_entries</em> is equal to zero and <em>platforms</em> is not NULL or if both <em>num_platforms</em> and <em>platforms</em> are NULL.</p> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_entries</em> is equal to zero and <em>platforms</em> is +not <code>NULL</code> or if both <em>num_platforms</em> and <em>platforms</em> are <code>NULL</code>.</p> </li> </ul> </div> @@ -841,8 +854,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clGetPlatformIDs.html">clGetPlatformIDs</a>, -<a href="cl_khr_icd.html">cl_khr_icd</a></p> +<p><a href="cl_khr_icd.html">cl_khr_icd</a>, <a href="cl_platform_id.html">cl_platform_id</a>, <a href="cl_uint.html">cl_uint</a></p> </div> </div> </div> @@ -850,10 +862,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clIcdGetPlatformIDsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -861,7 +874,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -871,8 +884,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clLinkProgram.html b/sdk/3.0/docs/man/html/clLinkProgram.html index f4674f2..632d3b4 100644 --- a/sdk/3.0/docs/man/html/clLinkProgram.html +++ b/sdk/3.0/docs/man/html/clLinkProgram.html
@@ -781,7 +781,8 @@ </div> <div id="clLinkProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_program clLinkProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_program clLinkProgram( cl_context context, cl_uint num_devices, const cl_device_id* device_list, @@ -923,7 +924,7 @@ program object.</p> </div> <div class="paragraph"> -<p>If <em>pfn_notify</em> is <code>NULL</code>, the <em>errcode_ret</em> will be set to <code>CL_SUCCESS</code> if +<p>If <em>pfn_notify</em> is <code>NULL</code>, <em>errcode_ret</em> will be set to <code>CL_SUCCESS</code> if the link operation was successful and <code>CL_LINK_<wbr>PROGRAM_<wbr>FAILURE</code> if there is a failure to link the compiled binaries and/or libraries.</p> </div> @@ -1027,7 +1028,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1037,8 +1038,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReImportSemaphoreSyncFdKHR.html b/sdk/3.0/docs/man/html/clReImportSemaphoreSyncFdKHR.html new file mode 100644 index 0000000..77a7581 --- /dev/null +++ b/sdk/3.0/docs/man/html/clReImportSemaphoreSyncFdKHR.html
@@ -0,0 +1,899 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clReImportSemaphoreSyncFdKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clReImportSemaphoreSyncFdKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clReImportSemaphoreSyncFdKHR - Re-import sync fd handle into an existing semaphore</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To re-imported a handle of type <code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>SYNC_<wbr>FD_<wbr>KHR</code> into an +existing semaphore, call the function:</p> +</div> +<div id="clReImportSemaphoreSyncFdKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_external_semaphore_sync_fd +cl_int clReImportSemaphoreSyncFdKHR( + cl_semaphore_khr sema_object, + cl_semaphore_reimport_properties_khr* reimport_props, + int fd);</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>sema_object</em> specifies a valid semaphore object with importable +properties.</p> +</li> +<li> +<p><em>reimport_props</em> must be <code>NULL</code>, and is reserved for future use.</p> +</li> +<li> +<p><em>fd</em> specifies an external file descriptor handle to import</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Calling <strong>clReImportSemaphoreSyncFdKHR</strong> is equivalent to destroying +<em>sema_object</em> and re-creating it with the original <em>sema_props</em> from +<strong>clCreateSemaphoreWithPropertiesKHR</strong>, except a handle specified by <em>fd</em> will +be imported. +The semaphore <em>sema_object</em> must have originally imported an external handle +of type <code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>SYNC_<wbr>FD_<wbr>KHR</code>.</p> +</div> +<div class="paragraph"> +<p><strong>clGetSemaphoreHandleForTypeKHR</strong> returns <code>CL_SUCCESS</code> if the semaphore +handle is re-imported successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code></p> +<div class="ulist"> +<ul> +<li> +<p>if <em>sema_object</em> is not a valid semaphore</p> +</li> +</ul> +</div> +</li> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code> if a <code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>SYNC_<wbr>FD_<wbr>KHR</code> handle +was not imported when <em>sema_object</em> was created.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>fd</em> is invalid.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_external_semaphore_sync_fd.html">cl_khr_external_semaphore_sync_fd</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a>, <a href="cl_semaphore_reimport_properties_khr.html">cl_semaphore_reimport_properties_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clReImportSemaphoreSyncFdKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clReleaseCommandBufferKHR.html b/sdk/3.0/docs/man/html/clReleaseCommandBufferKHR.html new file mode 100644 index 0000000..ec1c143 --- /dev/null +++ b/sdk/3.0/docs/man/html/clReleaseCommandBufferKHR.html
@@ -0,0 +1,895 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clReleaseCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clReleaseCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clReleaseCommandBufferKHR - Decrement a command-buffer's reference count</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To decrement a command-buffer’s reference count, call the function</p> +</div> +<div id="clReleaseCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clReleaseCommandBufferKHR( + cl_command_buffer_khr command_buffer);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clReleaseCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> specifies the command-buffer to release.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>After the <em>command_buffer</em> reference count becomes zero and has finished +execution, the command-buffer is deleted.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p><strong>clReleaseCommandBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clReleaseCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clReleaseCommandQueue.html b/sdk/3.0/docs/man/html/clReleaseCommandQueue.html index dbcc541..2403c82 100644 --- a/sdk/3.0/docs/man/html/clReleaseCommandQueue.html +++ b/sdk/3.0/docs/man/html/clReleaseCommandQueue.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseCommandQueue" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseCommandQueue( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseCommandQueue( cl_command_queue command_queue);</code></pre> </div> </div> @@ -861,7 +862,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -871,8 +872,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseContext.html b/sdk/3.0/docs/man/html/clReleaseContext.html index 0fae2ae..4d34b59 100644 --- a/sdk/3.0/docs/man/html/clReleaseContext.html +++ b/sdk/3.0/docs/man/html/clReleaseContext.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseContext" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseContext( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseContext( cl_context context);</code></pre> </div> </div> @@ -854,7 +855,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -864,8 +865,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseDevice.html b/sdk/3.0/docs/man/html/clReleaseDevice.html index 6b071b9..1ba653b 100644 --- a/sdk/3.0/docs/man/html/clReleaseDevice.html +++ b/sdk/3.0/docs/man/html/clReleaseDevice.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseDevice" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseDevice( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clReleaseDevice( cl_device_id device);</code></pre> </div> </div> @@ -871,7 +872,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -881,8 +882,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseEvent.html b/sdk/3.0/docs/man/html/clReleaseEvent.html index 2014d4f..ee5a3ff 100644 --- a/sdk/3.0/docs/man/html/clReleaseEvent.html +++ b/sdk/3.0/docs/man/html/clReleaseEvent.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseEvent" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseEvent( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseEvent( cl_event event);</code></pre> </div> </div> @@ -885,7 +886,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -895,8 +896,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseKernel.html b/sdk/3.0/docs/man/html/clReleaseKernel.html index 3030ad4..4dd3d75 100644 --- a/sdk/3.0/docs/man/html/clReleaseKernel.html +++ b/sdk/3.0/docs/man/html/clReleaseKernel.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseKernel( cl_kernel kernel);</code></pre> </div> </div> @@ -856,7 +857,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -866,8 +867,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseMemObject.html b/sdk/3.0/docs/man/html/clReleaseMemObject.html index a6b8ce4..ce00e05 100644 --- a/sdk/3.0/docs/man/html/clReleaseMemObject.html +++ b/sdk/3.0/docs/man/html/clReleaseMemObject.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseMemObject" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseMemObject( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseMemObject( cl_mem memobj);</code></pre> </div> </div> @@ -858,7 +859,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -868,8 +869,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseProgram.html b/sdk/3.0/docs/man/html/clReleaseProgram.html index 7867d51..77d4b84 100644 --- a/sdk/3.0/docs/man/html/clReleaseProgram.html +++ b/sdk/3.0/docs/man/html/clReleaseProgram.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseProgram( cl_program program);</code></pre> </div> </div> @@ -855,7 +856,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -865,8 +866,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseSampler.html b/sdk/3.0/docs/man/html/clReleaseSampler.html index fe0b21d..10a428e 100644 --- a/sdk/3.0/docs/man/html/clReleaseSampler.html +++ b/sdk/3.0/docs/man/html/clReleaseSampler.html
@@ -779,7 +779,8 @@ </div> <div id="clReleaseSampler" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clReleaseSampler( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clReleaseSampler( cl_sampler sampler);</code></pre> </div> </div> @@ -856,7 +857,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -866,8 +867,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clReleaseSemaphoreKHR.html b/sdk/3.0/docs/man/html/clReleaseSemaphoreKHR.html new file mode 100644 index 0000000..c724a80 --- /dev/null +++ b/sdk/3.0/docs/man/html/clReleaseSemaphoreKHR.html
@@ -0,0 +1,891 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clReleaseSemaphoreKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clReleaseSemaphoreKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clReleaseSemaphoreKHR - Release a semaphore object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To release a semaphore object, call the function</p> +</div> +<div id="clReleaseSemaphoreKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_int clReleaseSemaphoreKHR( + cl_semaphore_khr sema_object);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clReleaseSemaphoreKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>sema_object</em> specifies the semaphore object to be released.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <em>sema_object</em> reference count is decremented.</p> +</div> +<div class="paragraph"> +<p><strong>clReleaseSemaphoreKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code> if <em>sema_object</em> is not a valid semaphore +object.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>After the reference count becomes zero and commands queued for execution on +a command-queue(s) that use <em>sema_object</em> have finished, the semaphore +object is deleted. +Using this function to release a reference that was not obtained by creating +the object via <strong>clCreateSemaphoreWithPropertiesKHR</strong> or by calling +<strong>clRetainSemaphoreKHR</strong> causes undefined behavior.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clReleaseSemaphoreKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clRemapCommandBufferKHR.html b/sdk/3.0/docs/man/html/clRemapCommandBufferKHR.html new file mode 100644 index 0000000..bb348c5 --- /dev/null +++ b/sdk/3.0/docs/man/html/clRemapCommandBufferKHR.html
@@ -0,0 +1,974 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clRemapCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clRemapCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clRemapCommandBufferKHR - Create copy of a command-buffer remapped to specified command-queues</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To create a deep copy of the input command-buffer with the copied commands +remapped to target the passed command-queues, call the function</p> +</div> +<div id="clRemapCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_multi_device +cl_command_buffer_khr clRemapCommandBufferKHR( + cl_command_buffer_khr command_buffer, + cl_bool automatic, + cl_uint num_queues, + const cl_command_queue* queues, + cl_uint num_handles, + const cl_mutable_command_khr* handles, + cl_mutable_command_khr* handles_ret, + cl_int* errcode_ret);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clRemapCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer_multi_device</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> specifies the command-buffer to create a remapped deep +copy of.</p> +</li> +<li> +<p><em>automatic</em> indicates if the remapping is done explicitly by the user, +or automatically by the OpenCL runtime. +If <em>automatic</em> is <code>CL_FALSE</code>, then each element of <em>queues</em> will replace +the queue used on <em>command_buffer</em> creation at the same index. +If <code>CL_TRUE</code> and <code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>AUTOMATIC_<wbr>REMAP_<wbr>KHR</code> is +supported, then the OpenCL runtime will decide in a way it determines +optimal which of the elements in <em>queues</em> each command in the returned +command-buffer will be associated with.</p> +</li> +<li> +<p><em>num_queues</em> is the number of command-queues listed in <em>queues</em>, must +not be 0.</p> +</li> +<li> +<p><em>queues</em> is a pointer to an ordered list of command-queues for the +returned command-buffer to target, must be a non-<code>NULL</code> value.</p> +</li> +<li> +<p><em>num_handles</em> is the number of command handles passed in both <em>handles</em> +and <em>handles_ret</em> lists, may be 0.</p> +</li> +<li> +<p><em>handles</em> is an ordered list of handles belonging to <em>command_buffer</em> to +create remapped copies of, may be <code>NULL</code>.</p> +</li> +<li> +<p><em>handles_ret</em> returns an ordered list of handles where each handle is +equivalent to the handle at the same index in <em>handles</em>, but belonging +to the returned command-buffer.</p> +</li> +<li> +<p><em>errcode_ret</em> returns an appropriate error code. +If <em>errcode_ret</em> is <code>NULL</code>, no error code is returned.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The returned command-buffer has the same state as the input command-buffer, +unless the input command-buffer is in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#pending" target="_blank" rel="noopener">Pending</a> state, in +which case the returned command-buffer has state <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#executable" target="_blank" rel="noopener">Executable</a>.</p> +</div> +<div class="paragraph"> +<p><strong>clRemapCommandBufferKHR</strong> returns a valid command-buffer with <em>errcode_ret</em> +set to <code>CL_SUCCESS</code> if the command-buffer is created successfully. +Otherwise, it returns a <code>NULL</code> value without setting <em>handles_ret</em>, and with +one of the following error values returned in <em>errcode_ret</em>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>num_queues</em> is 0, or if <em>queues</em> is <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>automatic</em> is <code>CL_FALSE</code> and <em>num_queues</em> is not +equal to the number of queues used on creation of <em>command_buffer</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>handles</em> or <em>handles_ret</em> is <code>NULL</code> and +<em>num_handles</em> is > 0, or either <em>handles</em> or <em>handles_ret</em> is not <code>NULL</code> +and <em>num_handles</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if any handle in <em>handles</em> is not a valid command +handle belonging to <em>command_buffer</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>QUEUE</code> if any command-queue in <em>queues</em> is not a +valid command-queue.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>command_buffer</em> and all the command-queues in +<em>queues</em> do not have the same OpenCL context.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the platform does not support the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>REMAP_<wbr>QUEUES_<wbr>KHR</code> flag.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the platform does not support the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>AUTOMATIC_<wbr>REMAP_<wbr>KHR</code> flag and <em>automatic</em> is +<code>CL_TRUE</code>.</p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code> if such an error would be returned +by passing <em>queues</em> to <strong>clCreateCommandBufferKHR</strong>.</p> +</li> +<li> +<p>Any error relating to device support that can be returned by a command +recording entry-point may also be returned. +As a command in <em>command_buffer</em> can have a configuration that is not +supported by a device that is associated with the queue in <em>queues</em> the +command is being remapped to.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_bool.html">cl_bool</a>, <a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_command_queue.html">cl_command_queue</a>, <a href="cl_int.html">cl_int</a>, <a href="cl_khr_command_buffer_multi_device.html">cl_khr_command_buffer_multi_device</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clRemapCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clRetainCommandBufferKHR.html b/sdk/3.0/docs/man/html/clRetainCommandBufferKHR.html new file mode 100644 index 0000000..c464b7b --- /dev/null +++ b/sdk/3.0/docs/man/html/clRetainCommandBufferKHR.html
@@ -0,0 +1,880 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clRetainCommandBufferKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clRetainCommandBufferKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clRetainCommandBufferKHR - Increment a command-buffer's reference count</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To increment a command-buffer’s reference count, call the function</p> +</div> +<div id="clRetainCommandBufferKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer +cl_int clRetainCommandBufferKHR( + cl_command_buffer_khr command_buffer);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clRetainCommandBufferKHR</strong> is provided by the <code>cl_khr_command_buffer</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> specifies the command-buffer to retain.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clRetainCommandBufferKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_khr_command_buffer.html">cl_khr_command_buffer</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clRetainCommandBufferKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clRetainCommandQueue.html b/sdk/3.0/docs/man/html/clRetainCommandQueue.html index 0ca8cff..322d4d3 100644 --- a/sdk/3.0/docs/man/html/clRetainCommandQueue.html +++ b/sdk/3.0/docs/man/html/clRetainCommandQueue.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainCommandQueue" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainCommandQueue( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainCommandQueue( cl_command_queue command_queue);</code></pre> </div> </div> @@ -861,7 +862,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -871,8 +872,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainContext.html b/sdk/3.0/docs/man/html/clRetainContext.html index da312be..63b3fd1 100644 --- a/sdk/3.0/docs/man/html/clRetainContext.html +++ b/sdk/3.0/docs/man/html/clRetainContext.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainContext" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainContext( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainContext( cl_context context);</code></pre> </div> </div> @@ -858,7 +859,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -868,8 +869,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainDevice.html b/sdk/3.0/docs/man/html/clRetainDevice.html index 8ab374e..341ca36 100644 --- a/sdk/3.0/docs/man/html/clRetainDevice.html +++ b/sdk/3.0/docs/man/html/clRetainDevice.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainDevice" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainDevice( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clRetainDevice( cl_device_id device);</code></pre> </div> </div> @@ -864,7 +865,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -874,8 +875,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainEvent.html b/sdk/3.0/docs/man/html/clRetainEvent.html index 256da35..6e270ee 100644 --- a/sdk/3.0/docs/man/html/clRetainEvent.html +++ b/sdk/3.0/docs/man/html/clRetainEvent.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainEvent" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainEvent( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainEvent( cl_event event);</code></pre> </div> </div> @@ -849,7 +850,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -859,8 +860,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainKernel.html b/sdk/3.0/docs/man/html/clRetainKernel.html index 573130a..e334dbd 100644 --- a/sdk/3.0/docs/man/html/clRetainKernel.html +++ b/sdk/3.0/docs/man/html/clRetainKernel.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainKernel" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainKernel( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainKernel( cl_kernel kernel);</code></pre> </div> </div> @@ -852,7 +853,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -862,8 +863,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainMemObject.html b/sdk/3.0/docs/man/html/clRetainMemObject.html index 458209f..e174984 100644 --- a/sdk/3.0/docs/man/html/clRetainMemObject.html +++ b/sdk/3.0/docs/man/html/clRetainMemObject.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainMemObject" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainMemObject( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainMemObject( cl_mem memobj);</code></pre> </div> </div> @@ -855,7 +856,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -865,8 +866,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainProgram.html b/sdk/3.0/docs/man/html/clRetainProgram.html index 588c8b7..f42b644 100644 --- a/sdk/3.0/docs/man/html/clRetainProgram.html +++ b/sdk/3.0/docs/man/html/clRetainProgram.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainProgram" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainProgram( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainProgram( cl_program program);</code></pre> </div> </div> @@ -850,7 +851,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -860,8 +861,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainSampler.html b/sdk/3.0/docs/man/html/clRetainSampler.html index 0aaf9ab..7a7d0e8 100644 --- a/sdk/3.0/docs/man/html/clRetainSampler.html +++ b/sdk/3.0/docs/man/html/clRetainSampler.html
@@ -779,7 +779,8 @@ </div> <div id="clRetainSampler" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clRetainSampler( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clRetainSampler( cl_sampler sampler);</code></pre> </div> </div> @@ -851,7 +852,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -861,8 +862,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clRetainSemaphoreKHR.html b/sdk/3.0/docs/man/html/clRetainSemaphoreKHR.html new file mode 100644 index 0000000..dd54ee8 --- /dev/null +++ b/sdk/3.0/docs/man/html/clRetainSemaphoreKHR.html
@@ -0,0 +1,883 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clRetainSemaphoreKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clRetainSemaphoreKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clRetainSemaphoreKHR - Retain a semaphore object</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To retain a semaphore object, call the function</p> +</div> +<div id="clRetainSemaphoreKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_semaphore +cl_int clRetainSemaphoreKHR( + cl_semaphore_khr sema_object);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clRetainSemaphoreKHR</strong> is provided by the <code>cl_khr_semaphore</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>sema_object</em> specifies the semaphore object to be retained.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clRetainSemaphoreKHR</strong> increments the reference count of <em>sema_object</em>.</p> +</div> +<div class="paragraph"> +<p><strong>clRetainSemaphoreKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code> if <em>sema_object</em> is not a valid semaphore +object.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_semaphore.html">cl_khr_semaphore</a>, <a href="cl_semaphore_khr.html">cl_semaphore_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clRetainSemaphoreKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clSVMAlloc.html b/sdk/3.0/docs/man/html/clSVMAlloc.html index f53d50a..917f1b8 100644 --- a/sdk/3.0/docs/man/html/clSVMAlloc.html +++ b/sdk/3.0/docs/man/html/clSVMAlloc.html
@@ -781,7 +781,8 @@ </div> <div id="clSVMAlloc" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">void* clSVMAlloc( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +void* clSVMAlloc( cl_context context, cl_svm_mem_flags flags, size_t size, @@ -944,7 +945,7 @@ <em>flags</em> and these are not supported by at least one device in <em>context</em>.</p> </li> <li> -<p>The values specified in <em>flags</em> are not valid, i.e. don’t match those +<p>The values specified in <em>flags</em> are not valid, i.e. do not match those defined in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#svm-flags-table" target="_blank" rel="noopener">SVM Memory Flags</a> table.</p> </li> <li> @@ -986,7 +987,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -996,8 +997,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSVMFree.html b/sdk/3.0/docs/man/html/clSVMFree.html index 3556dad..4e52508 100644 --- a/sdk/3.0/docs/man/html/clSVMFree.html +++ b/sdk/3.0/docs/man/html/clSVMFree.html
@@ -780,7 +780,8 @@ </div> <div id="clSVMFree" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">void clSVMFree( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +void clSVMFree( cl_context context, void* svm_pointer);</code></pre> </div> @@ -866,7 +867,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -876,8 +877,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetCommandQueueProperty.html b/sdk/3.0/docs/man/html/clSetCommandQueueProperty.html index 44551a3..1d325ab 100644 --- a/sdk/3.0/docs/man/html/clSetCommandQueueProperty.html +++ b/sdk/3.0/docs/man/html/clSetCommandQueueProperty.html
@@ -779,7 +779,8 @@ </div> <div id="clSetCommandQueueProperty" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetCommandQueueProperty( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clSetCommandQueueProperty( cl_command_queue command_queue, cl_command_queue_properties properties, cl_bool enable, @@ -824,8 +825,8 @@ </li> <li> <p><em>old_properties</em> returns the command-queue properties before they were -changed by <strong>clSetCommandQueueProperty</strong>. If <em>old_properties</em> is <code>NULL</code>, it -is ignored.</p> +changed by <strong>clSetCommandQueueProperty</strong>. If <em>old_properties</em> is <code>NULL</code>, +it is ignored.</p> </li> </ul> </div> @@ -898,7 +899,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -908,8 +909,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetContextDestructorCallback.html b/sdk/3.0/docs/man/html/clSetContextDestructorCallback.html index 911c574..b1b5c79 100644 --- a/sdk/3.0/docs/man/html/clSetContextDestructorCallback.html +++ b/sdk/3.0/docs/man/html/clSetContextDestructorCallback.html
@@ -780,7 +780,8 @@ </div> <div id="clSetContextDestructorCallback" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetContextDestructorCallback( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_3_0 +cl_int clSetContextDestructorCallback( cl_context context, void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data), void* user_data);</code></pre> @@ -901,7 +902,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -911,8 +912,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetDefaultDeviceCommandQueue.html b/sdk/3.0/docs/man/html/clSetDefaultDeviceCommandQueue.html index 2ab5ae8..e703ad4 100644 --- a/sdk/3.0/docs/man/html/clSetDefaultDeviceCommandQueue.html +++ b/sdk/3.0/docs/man/html/clSetDefaultDeviceCommandQueue.html
@@ -779,7 +779,8 @@ </div> <div id="clSetDefaultDeviceCommandQueue" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetDefaultDeviceCommandQueue( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_1 +cl_int clSetDefaultDeviceCommandQueue( cl_context context, cl_device_id device, cl_command_queue command_queue);</code></pre> @@ -883,7 +884,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -893,8 +894,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetEventCallback.html b/sdk/3.0/docs/man/html/clSetEventCallback.html index d559d1b..616434c 100644 --- a/sdk/3.0/docs/man/html/clSetEventCallback.html +++ b/sdk/3.0/docs/man/html/clSetEventCallback.html
@@ -780,7 +780,8 @@ </div> <div id="clSetEventCallback" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetEventCallback( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clSetEventCallback( cl_event event, cl_int command_exec_callback_type, void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data), @@ -812,17 +813,11 @@ <li> <p><em>command_exec_callback_type</em> specifies the command execution status for which the callback is registered. -The command execution callback values for which a callback can be registered -are: <code>CL_SUBMITTED</code>, <code>CL_RUNNING</code>, or -<code>CL_COMPLETE</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>. -There is no guarantee that the callback functions registered for various -execution status values for an event will be called in the exact order that -the execution status of a command changes. -Furthermore, it should be noted that receiving a call back for an event with -a status other than <code>CL_COMPLETE</code>, in no way implies that the memory model or -execution model as defined by the OpenCL specification has changed. -For example, it is not valid to assume that a corresponding memory transfer -has completed unless the event is in a state <code>CL_COMPLETE</code>.</p> +The command execution status types for which a callback can be registered +are <code>CL_SUBMITTED</code>, <code>CL_RUNNING</code>, or <code>CL_COMPLETE</code>. +The callback function registered for a <em>command_exec_callback_type</em> value of +<code>CL_COMPLETE</code> will be called when the command has completed successfully or +is abnormally terminated.</p> </li> <li> <p><em>pfn_event_notify</em> is the event callback function that can be registered by @@ -866,23 +861,32 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The registered callback function will be called when the execution status of -command associated with <em>event</em> changes to an execution status equal to or -past the status specified by <em>command_exec_status</em>.</p> -</div> -<div class="paragraph"> <p>Each call to <strong>clSetEventCallback</strong> registers the specified user callback function on a callback stack associated with <em>event</em>. The order in which the registered user callback functions are called is undefined.</p> </div> <div class="paragraph"> -<p>All callbacks registered for an event object must be called before the event -object is destroyed. -Callbacks should return promptly.</p> +<p>The registered callback function will be called when the execution status of the +command associated with <em>event</em> changes to an execution status equal to or past +the status specified by <em>command_exec_status</em>, or for the execution status +<code>CL_COMPLETE</code>, if the command is abnormally terminated. +There is no guarantee that the callback functions registered for various command +execution status values for an event will be called in the exact order that the +execution status of a command changes. +Furthermore, it should be noted that calling a callback for an event execution +status other than <code>CL_COMPLETE</code> in no way implies that the memory model or +execution model as defined by the OpenCL specification has changed. For example, +it is not valid to assume that a corresponding memory transfer has completed +unless the event is in the state <code>CL_COMPLETE</code>.</p> </div> <div class="paragraph"> -<p>Behavior is undefined when calling expensive system routines, OpenCL APIs to +<p>All callbacks registered for an event object must be called before the event +object is destroyed.</p> +</div> +<div class="paragraph"> +<p>Callbacks should return promptly. +Behavior is undefined when calling expensive system routines, OpenCL APIs to create contexts or command-queues, or blocking OpenCL APIs in an event callback. Rather than calling a blocking OpenCL API in an event callback, applications may call a non-blocking OpenCL API, then register a completion callback @@ -945,7 +949,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -953,16 +957,10 @@ </div> </div> </div> -<div id="footnotes"> -<hr> -<div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. The callback function registered for a <em>command_exec_callback_type</em> value of <code>CL_COMPLETE</code> will be called when the command has completed successfully or is abnormally terminated. -</div> -</div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetKernelArg.html b/sdk/3.0/docs/man/html/clSetKernelArg.html index d431161..265a2b8 100644 --- a/sdk/3.0/docs/man/html/clSetKernelArg.html +++ b/sdk/3.0/docs/man/html/clSetKernelArg.html
@@ -780,7 +780,8 @@ </div> <div id="clSetKernelArg" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetKernelArg( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clSetKernelArg( cl_kernel kernel, cl_uint arg_index, size_t arg_size, @@ -870,6 +871,17 @@ pointer to the device queue object.</p> </div> <div class="paragraph"> +<p>If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension is supported, then: +If the argument is a multi-sample 2D image, the <em>arg_value</em> entry must be a +pointer to a multi-sample image object. +If the argument is a multi-sample 2D depth image, the <em>arg_value</em> entry must +be a pointer to a multisample depth image object. +If the argument is a multi-sample 2D image array, the <em>arg_value</em> entry must +be a pointer to a multi-sample image array object. +If the argument is a multi-sample 2D depth image array, the <em>arg_value</em> +entry must be a pointer to a multi-sample depth image array object.</p> +</div> +<div class="paragraph"> <p>If the argument is declared to be a pointer of a built-in scalar or vector type, or a user defined structure type in the global or constant address space, the memory object specified as argument value must be a buffer object @@ -954,6 +966,14 @@ when the specified <em>arg_value</em> is not a valid memory object.</p> </li> <li> +<p><code>CL_INVALID_<wbr>MEM_<wbr>OBJECT</code> for an argument declared to be a +depth image, depth image array, +multi-sample image, multi-sample image array, multi-sample depth image, +or a multi-sample depth image array +when the specified <em>arg_value</em> does not follow the rules described above +for a depth memory object or memory array object argument.</p> +</li> +<li> <p><code>CL_INVALID_<wbr>SAMPLER</code> for an argument declared to be of type <em>sampler_t</em> when the specified <em>arg_value</em> is not a valid sampler object.</p> </li> @@ -1038,7 +1058,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1054,8 +1074,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetKernelArgSVMPointer.html b/sdk/3.0/docs/man/html/clSetKernelArgSVMPointer.html index ecb45b2..9e13223 100644 --- a/sdk/3.0/docs/man/html/clSetKernelArgSVMPointer.html +++ b/sdk/3.0/docs/man/html/clSetKernelArgSVMPointer.html
@@ -780,7 +780,8 @@ </div> <div id="clSetKernelArgSVMPointer" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetKernelArgSVMPointer( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clSetKernelArgSVMPointer( cl_kernel kernel, cl_uint arg_index, const void* arg_value);</code></pre> @@ -890,7 +891,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -900,8 +901,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetKernelExecInfo.html b/sdk/3.0/docs/man/html/clSetKernelExecInfo.html index 072e546..14ca5df 100644 --- a/sdk/3.0/docs/man/html/clSetKernelExecInfo.html +++ b/sdk/3.0/docs/man/html/clSetKernelExecInfo.html
@@ -780,7 +780,8 @@ </div> <div id="clSetKernelExecInfo" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetKernelExecInfo( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_0 +cl_int clSetKernelExecInfo( cl_kernel kernel, cl_kernel_exec_info param_name, size_t param_value_size, @@ -927,7 +928,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -937,8 +938,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetMemObjectDestructorCallback.html b/sdk/3.0/docs/man/html/clSetMemObjectDestructorCallback.html index a2be160..9403c49 100644 --- a/sdk/3.0/docs/man/html/clSetMemObjectDestructorCallback.html +++ b/sdk/3.0/docs/man/html/clSetMemObjectDestructorCallback.html
@@ -780,7 +780,8 @@ </div> <div id="clSetMemObjectDestructorCallback" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetMemObjectDestructorCallback( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clSetMemObjectDestructorCallback( cl_mem memobj, void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data), void* user_data);</code></pre> @@ -967,7 +968,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -977,8 +978,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetProgramReleaseCallback.html b/sdk/3.0/docs/man/html/clSetProgramReleaseCallback.html index 1bb9f2c..1b16f96 100644 --- a/sdk/3.0/docs/man/html/clSetProgramReleaseCallback.html +++ b/sdk/3.0/docs/man/html/clSetProgramReleaseCallback.html
@@ -780,7 +780,8 @@ </div> <div id="clSetProgramReleaseCallback" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetProgramReleaseCallback( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_2 +cl_int clSetProgramReleaseCallback( cl_program program, void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data), void* user_data);</code></pre> @@ -912,7 +913,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -922,8 +923,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetProgramSpecializationConstant.html b/sdk/3.0/docs/man/html/clSetProgramSpecializationConstant.html index dd1af45..c2f9316 100644 --- a/sdk/3.0/docs/man/html/clSetProgramSpecializationConstant.html +++ b/sdk/3.0/docs/man/html/clSetProgramSpecializationConstant.html
@@ -779,7 +779,8 @@ </div> <div id="clSetProgramSpecializationConstant" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetProgramSpecializationConstant( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_2_2 +cl_int clSetProgramSpecializationConstant( cl_program program, cl_uint spec_id, size_t spec_size, @@ -920,7 +921,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -930,8 +931,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clSetUserEventStatus.html b/sdk/3.0/docs/man/html/clSetUserEventStatus.html index 1dd887b..6082a14 100644 --- a/sdk/3.0/docs/man/html/clSetUserEventStatus.html +++ b/sdk/3.0/docs/man/html/clSetUserEventStatus.html
@@ -779,7 +779,8 @@ </div> <div id="clSetUserEventStatus" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clSetUserEventStatus( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_1 +cl_int clSetUserEventStatus( cl_event event, cl_int execution_status);</code></pre> </div> @@ -918,7 +919,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -928,8 +929,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clTerminateContextKHR.html b/sdk/3.0/docs/man/html/clTerminateContextKHR.html index 698b439..5297313 100644 --- a/sdk/3.0/docs/man/html/clTerminateContextKHR.html +++ b/sdk/3.0/docs/man/html/clTerminateContextKHR.html
@@ -767,27 +767,52 @@ <h1>clTerminateContextKHR(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>clTerminateContextKHR - Terminates all pending work associated with the context and renders all data owned by the context invalid.</p> +<p>clTerminateContextKHR - Terminate pending work associated with a context and render data owned by the context invalid</p> </div> </div> <div id="content"> -<div id="preamble"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_int clTerminateContextKHR(cl_context context)</code></pre> +<div class="paragraph"> +<p>To terminate all pending work associated with a context and render all data +owned by the context invalid, call the function</p> </div> +<div id="clTerminateContextKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_terminate_context +cl_int clTerminateContextKHR( + cl_context context);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clTerminateContextKHR</strong> is provided by the <code>cl_khr_terminate_context</code> extension. +</td> +</tr> +</table> </div> </div> </div> <div class="sect1"> <h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> <div class="sectionbody"> - +<div class="ulist"> +<ul> +<li> +<p><em>context</em> must be a valid OpenCL context.</p> +</li> +</ul> +</div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> <p>It is the responsibility of the application to release all objects @@ -799,23 +824,25 @@ <div class="ulist"> <ul> <li> -<p>The execution status of enqueued commands will be <code>CL_TERMINATED_KHR</code>. -Event objects can be queried using -<a href="clGetEventInfo.html">clGetEventInfo</a>. Event callbacks can be -registered and registered event callbacks will be called with -<code>event_command_status</code> set to <code>CL_TERMINATED_KHR</code>. -<a href="clWaitForEvents.html">clWaitForEvents</a> will return as immediately -for commands associated with event objects specified in <code>event_list</code>. -The status of user events can be set. Event objects can be retained and -released. <a href="clGetEventProfilingInfo.html">clGetEventProfilingInfo</a> -returns <code>CL_PROFILING_INFO_NOT_AVAILABLE</code>.</p> +<p>The execution status of enqueued commands will be +<code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code>. +Event objects can be queried using <strong>clGetEventInfo</strong>. +Event callbacks can be registered and registered event callbacks will be +called with <em>event_command_status</em> set to <code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code>. +<strong>clWaitForEvents</strong> will return as immediately for commands associated +with event objects specified in event_list. +The status of user events can be set. +Event objects can be retained and released. +<strong>clGetEventProfilingInfo</strong> returns <code>CL_PROFILING_<wbr>INFO_<wbr>NOT_<wbr>AVAILABLE</code>.</p> </li> <li> -<p>The context is considered to be terminated. A callback function -registered when the context was created will be called. Only queries, -retain and release operations can be performed on the context. All other -APIs that use a context as an argument will return -<code>CL_CONTEXT_TERMINATED_KHR</code>.</p> +<p>The context is considered to be terminated. +A callback function registered when the context was created will be +called. +Only queries, retain and release operations can be performed on the +context. +All other APIs that use a context as an argument will return +<code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code>.</p> </li> <li> <p>The contents of the memory regions of the memory objects is undefined. @@ -824,64 +851,60 @@ </li> <li> <p>Once a context has been terminated, all OpenCL API calls that create -objects or enqueue commands will return <code>CL_CONTEXT_TERMINATED_KHR</code>. +objects or enqueue commands will return <code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code>. APIs that release OpenCL objects will continue to operate as though -<code>clTerminateContextKHR</code> was not called.</p> +<strong>clTerminateContextKHR</strong> was not called.</p> </li> <li> <p>The behavior of callbacks will remain unchanged, and will report -appropriate error, if executing after termination of context. This -behavior is similar to enqueued commands, after the command-queue has -become invalid.</p> +appropriate error, if executing after termination of context. +This behavior is similar to enqueued commands, after the command-queue +has become invalid.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><strong>clTerminateContextKHR</strong> returns <code>CL_SUCCESS</code> if the function is executed +successfully. +Otherwise, it returns one of the following errors:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>CONTEXT</code> if <em>context</em> is not a valid OpenCL context.</p> +</li> +<li> +<p><code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code> if <em>context</em> has already been terminated.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>context</em> was not created with +<code>CL_CONTEXT_<wbr>TERMINATE_<wbr>KHR</code> set to <code>CL_TRUE</code>.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> </li> </ul> </div> <div class="paragraph"> <p>An implementation that supports this extension must be able to terminate commands currently executing on devices or queued across all command-queues -associated with the context that is being terminated. The implementation -cannot implement this extension by waiting for currently executing (or -queued) commands to finish execution on devices associated with this context -(i.e. doing a <a href="clFinish.html">clFinish</a>.</p> -</div> -<div class="paragraph"> -<p>In Table 4.5 (see <a href="clCreateContext.html">clCreateContext</a>), <code>CL_CONTEXT_TERMINATE_KHR</code> -can be specified in the context properties only if all devices associated -with the context support the ability to support context termination (i.e. -<code>CL_DEVICE_TERMINATE_CAPABILITY_CONTEXT_KHR</code> is set for -<code>CL_DEVICE_TERMINATE_CAPABILITY_KHR</code>). Otherwise, context creation fails -with error code of <code>CL_INVALID_PROPERTY</code>.</p> +associated with the context that is being terminated. +The implementation cannot implement this extension by waiting for currently +executing (or queued) commands to finish execution on devices associated +with this context (i.e. doing a <strong>clFinish</strong>).</p> </div> </div> </div> <div class="sect1"> -<h2 id="_errors"><a class="anchor" href="#_errors"></a>Errors</h2> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><code>clTerminateContextKHR</code> returns <code>CL_SUCCESS</code> if the function is executed -successfully. Otherwise, it returns one of the following errors:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p><code>CL_INVALID_CONTEXT</code> if <em>context</em> is not a valid OpenCL context.</p> -</li> -<li> -<p><code>CL_CONTEXT_TERMINATED_KHR</code> if <em>context</em> has already been terminated.</p> -</li> -<li> -<p><code>CL_INVALID_OPERATION</code> if <em>context</em> was not created with -<code>CL_CONTEXT_TERMINATE_KHR</code> set to <code>CL_TRUE</code>.</p> -</li> -<li> -<p><code>CL_OUT_OF_RESOURCES</code> if there is a failure to allocate resources -required by the OpenCL implementation on the device.</p> -</li> -<li> -<p><code>CL_OUT_OF_HOST_MEMORY</code> if there is a failure to allocate resources -required by the OpenCL implementation on the host.</p> -</li> -</ul> +<p><a href="cl_context.html">cl_context</a>, <a href="cl_khr_terminate_context.html">cl_khr_terminate_context</a></p> </div> </div> </div> @@ -889,10 +912,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clTerminateContextKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context</a></p> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> </div> </div> </div> @@ -900,7 +924,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -910,8 +934,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clUnloadCompiler.html b/sdk/3.0/docs/man/html/clUnloadCompiler.html index ce43e7b..821ae02 100644 --- a/sdk/3.0/docs/man/html/clUnloadCompiler.html +++ b/sdk/3.0/docs/man/html/clUnloadCompiler.html
@@ -779,25 +779,14 @@ </div> <div id="clUnloadCompiler" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clUnloadCompiler(void);</code></pre> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clUnloadCompiler(void);</code></pre> </div> </div> -<div class="admonitionblock important"> -<table> -<tr> -<td class="icon"> -<i class="fa icon-important" title="Important"></i> -</td> -<td class="content"> -<strong>clUnloadCompiler</strong> is <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">deprecated by</a> version 1.2. -</td> -</tr> -</table> -</div> </div> </div> <div class="sect1"> -<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> <p>This function allows the implementation to release the resources allocated @@ -809,11 +798,6 @@ <strong>clUnloadCompiler</strong> will reload the compiler, if necessary, to build the appropriate program executable.</p> </div> -</div> -</div> -<div class="sect1"> -<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> -<div class="sectionbody"> <div class="paragraph"> <p><strong>clUnloadCompiler</strong> will always return <code>CL_SUCCESS</code>.</p> </div> @@ -843,7 +827,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -853,8 +837,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clUnloadPlatformCompiler.html b/sdk/3.0/docs/man/html/clUnloadPlatformCompiler.html index fe7e5df..1c1886d 100644 --- a/sdk/3.0/docs/man/html/clUnloadPlatformCompiler.html +++ b/sdk/3.0/docs/man/html/clUnloadPlatformCompiler.html
@@ -779,7 +779,8 @@ </div> <div id="clUnloadPlatformCompiler" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clUnloadPlatformCompiler( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +cl_int clUnloadPlatformCompiler( cl_platform_id platform);</code></pre> </div> </div> @@ -860,7 +861,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -870,8 +871,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/clUpdateMutableCommandsKHR.html b/sdk/3.0/docs/man/html/clUpdateMutableCommandsKHR.html new file mode 100644 index 0000000..c15c6a4 --- /dev/null +++ b/sdk/3.0/docs/man/html/clUpdateMutableCommandsKHR.html
@@ -0,0 +1,1019 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>clUpdateMutableCommandsKHR(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>clUpdateMutableCommandsKHR(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>clUpdateMutableCommandsKHR - Modify configuration of mutable-command handles to update behavior for future enqueues</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To modify the configuration of mutable-command handles returned during +<em>command_buffer</em> recording, updating the behavior of those commands in +future enqueues of <em>command_buffer</em>, call the function</p> +</div> +<div id="clUpdateMutableCommandsKHR" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_mutable_dispatch +cl_int clUpdateMutableCommandsKHR( + cl_command_buffer_khr command_buffer, + const cl_mutable_base_config_khr* mutable_config);</code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<strong>clUpdateMutableCommandsKHR</strong> is provided by the <code>cl_khr_command_buffer_mutable_dispatch</code> extension. +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_parameters"><a class="anchor" href="#_parameters"></a>Parameters</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>command_buffer</em> refers to a valid command-buffer object.</p> +</li> +<li> +<p><em>mutable_config</em> is a pointer to a <code>cl_mutable_<wbr>base_<wbr>config_<wbr>khr</code> +structure defining updates to make to mutable-commands.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><strong>clUpdateMutableCommandsKHR</strong> returns <code>CL_SUCCESS</code> if all the mutable-command +objects were updated successfully. +Otherwise, none of the updates to mutable-command objects are preserved and +one of the errors below is returned:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code> if <em>command_buffer</em> is not a valid +command-buffer.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> has not been finalized.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if <em>command_buffer</em> was not created with the +<code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>KHR</code> flag.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <em>type</em> member of <em>mutable_config</em> is not +<code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>BASE_<wbr>CONFIG_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <em>mutable_dispatch_list</em> member of +<em>mutable_config</em> is <code>NULL</code> and <em>num_mutable_dispatch</em> > 0, or +<em>mutable_dispatch_list</em> is not <code>NULL</code> and <em>num_mutable_dispatch</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if the <em>next</em> member of <em>mutable_config</em> is not +<code>NULL</code> and any iteration of the structure pointer chain does not contain +valid <em>type</em> and <em>next</em> members.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>mutable_config</em> is <code>NULL</code>, or if both <em>next</em> and +<em>mutable_dispatch_list</em> members of <em>mutable_config</em> are <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>RESOURCES</code> if there is a failure to allocate resources +required by the OpenCL implementation on the device.</p> +</li> +<li> +<p><code>CL_OUT_<wbr>OF_<wbr>HOST_<wbr>MEMORY</code> if there is a failure to allocate resources +required by the OpenCL implementation on the host.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Using this function when <em>command_buffer</em> is in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#pending" target="_blank" rel="noopener">pending</a> +state and not created with the <code>CL_COMMAND_<wbr>BUFFER_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code> flag +causes undefined behavior.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>Performant usage is to call <strong>clUpdateMutableCommandsKHR</strong> only when the +desired state of all commands is known, rather than iteratively updating +each command individually.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>If the command buffer has been created with +<code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code>, or the updated +ND-range command has been recorded with this flag, and the ND-range +parameters are updated so that the new number of work-groups exceeds the +number when the ND-range command was recorded, the behavior is undefined.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>If the <em>mutable_dispatch_list</em> member of <em>mutable_config</em> is non-<code>NULL</code>, +then errors defined by <strong>clEnqueueNDRangeKernel</strong>, <strong>clSetKernelExecInfo</strong>, +<strong>clSetKernelArg</strong>, and <strong>clSetKernelArgSVMPointer</strong> are returned by +<strong>clUpdateMutableCommandsKHR</strong> if any of the array elements are set to an +invalid value. +Additionally, the following errors are returned if any +<code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code> element of the array violates the +defined conditions:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>MUTABLE_<wbr>COMMAND_<wbr>KHR</code> if <em>command</em> is not a valid mutable +command object, or created from <em>command_buffer</em>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>type</em> is not +<code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CONFIG_<wbr>KHR</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the values of <em>local_work_size</em> and/or +<em>global_work_size</em> result in a change to work-group uniformity.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <em>work_dim</em> is different from the +<em>work_dim</em> set on <em>command</em> recording.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>OFFSET_<wbr>KHR</code> +property was not set on <em>command</em> recording and <em>global_work_offset</em> is +not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>SIZE_<wbr>KHR</code> +property was not set on <em>command</em> recording and <em>global_work_size</em> is +not <code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>SIZE_<wbr>KHR</code> +property was not set on <em>command</em> recording and <em>local_work_size</em> is not +<code>NULL</code>.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ARGUMENTS_<wbr>KHR</code> +property was not set on <em>command</em> recording and <em>num_args</em> or +<em>num_svm_args</em> is non-zero.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>OPERATION</code> if the <code>CL_MUTABLE_<wbr>DISPATCH_<wbr>EXEC_<wbr>INFO_<wbr>KHR</code> +property was not set on <em>command</em> recording and <em>num_exec_infos</em> is +non-zero.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>arg_list</em> is <code>NULL</code> and <em>num_args</em> > 0, or +<em>arg_list</em> is not <code>NULL</code> and <em>num_args</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>arg_svm_list</em> is <code>NULL</code> and <em>num_svm_args</em> > 0, +or <em>arg_svm_list</em> is not <code>NULL</code> and <em>num_svm_args</em> is 0.</p> +</li> +<li> +<p><code>CL_INVALID_<wbr>VALUE</code> if <em>exec_info_list</em> is <code>NULL</code> and <em>num_exec_infos</em> > +0, or <em>exec_info_list</em> is not <code>NULL</code> and <em>num_exec_infos</em> is 0.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_khr.html">cl_command_buffer_khr</a>, <a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_base_config_khr.html">cl_mutable_base_config_khr</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clUpdateMutableCommandsKHR" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/clWaitForEvents.html b/sdk/3.0/docs/man/html/clWaitForEvents.html index ff9ec03..c820b0a 100644 --- a/sdk/3.0/docs/man/html/clWaitForEvents.html +++ b/sdk/3.0/docs/man/html/clWaitForEvents.html
@@ -779,7 +779,8 @@ </div> <div id="clWaitForEvents" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">cl_int clWaitForEvents( +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +cl_int clWaitForEvents( cl_uint num_events, const cl_event* event_list);</code></pre> </div> @@ -870,7 +871,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -880,8 +881,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_buffer_region.html b/sdk/3.0/docs/man/html/cl_buffer_region.html index 06b9391..ffc95e2 100644 --- a/sdk/3.0/docs/man/html/cl_buffer_region.html +++ b/sdk/3.0/docs/man/html/cl_buffer_region.html
@@ -779,7 +779,8 @@ </div> <div id="cl_buffer_region" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">typedef struct cl_buffer_region { +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +typedef struct cl_buffer_region { size_t origin; size_t size; } cl_buffer_region;</code></pre> @@ -835,7 +836,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -845,8 +846,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_device_integer_dot_product_acceleration_properties_khr.html b/sdk/3.0/docs/man/html/cl_device_integer_dot_product_acceleration_properties_khr.html new file mode 100644 index 0000000..1e93a90 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_device_integer_dot_product_acceleration_properties_khr.html
@@ -0,0 +1,886 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_device_integer_dot_product_acceleration_properties_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_device_integer_dot_product_acceleration_properties_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_device_integer_dot_product_acceleration_properties_khr - Structure describing supported dot product operations</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div id="integer-dot-product-acceleration-properties" class="paragraph"> +<p>The <code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>acceleration_<wbr>properties_<wbr>khr</code> structure +describes the exact dot product operations that are accelerated on the device:</p> +</div> +<div id="cl_device_integer_dot_product_acceleration_properties_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_integer_dot_product +typedef struct cl_device_integer_dot_product_acceleration_properties_khr { + cl_bool signed_accelerated; + cl_bool unsigned_accelerated; + cl_bool mixed_signedness_accelerated; + cl_bool accumulating_saturating_signed_accelerated; + cl_bool accumulating_saturating_unsigned_accelerated; + cl_bool accumulating_saturating_mixed_signedness_accelerated; +} cl_device_integer_dot_product_acceleration_properties_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>signed_accelerated</em> is <code>CL_TRUE</code> when signed dot product operations are +accelerated, <code>CL_FALSE</code> otherwise.</p> +</li> +<li> +<p><em>unsigned_accelerated</em> is <code>CL_TRUE</code> when unsigned dot product operations +are accelerated, <code>CL_FALSE</code> otherwise.</p> +</li> +<li> +<p><em>mixed_signedness_accelerated</em> is <code>CL_TRUE</code> when mixed signedness dot +product operations are accelerated, <code>CL_FALSE</code> otherwise.</p> +</li> +<li> +<p><em>accumulating_saturating_signed_accelerated</em> is <code>CL_TRUE</code> when accumulating +saturating signed dot product operations are accelerated, <code>CL_FALSE</code> +otherwise.</p> +</li> +<li> +<p><em>accumulating_saturating_unsigned_accelerated</em> is <code>CL_TRUE</code> when accumulating +saturating unsigned dot product operations are accelerated, <code>CL_FALSE</code> +otherwise.</p> +</li> +<li> +<p><em>accumulating_saturating_mixed_signedness_accelerated</em> is <code>CL_TRUE</code> when +accumulating saturating mixed signedness dot product operations are +accelerated, <code>CL_FALSE</code> otherwise.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>A dot product operation is deemed accelerated if its implementation provides +a performance advantage over application-provided code composed from elementary +instructions and/or other dot product instructions, either because the +implementation uses optimized machine code sequences whose generation from +application-provided code cannot be guaranteed or because it uses hardware +features that cannot otherwise be targeted from application-provided code.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_bool.html">cl_bool</a>, <a href="cl_khr_integer_dot_product.html">cl_khr_integer_dot_product</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_device_integer_dot_product_acceleration_properties_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_device_pci_bus_info_khr.html b/sdk/3.0/docs/man/html/cl_device_pci_bus_info_khr.html new file mode 100644 index 0000000..d8e18a5 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_device_pci_bus_info_khr.html
@@ -0,0 +1,865 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_device_pci_bus_info_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_device_pci_bus_info_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_device_pci_bus_info_khr - Structure describing PCI bus information</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_device_<wbr>pci_<wbr>bus_<wbr>info_<wbr>khr</code> structure describes PCI bus +information for a device:</p> +</div> +<div id="cl_device_pci_bus_info_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_pci_bus_info +typedef struct cl_device_pci_bus_info_khr { + cl_uint pci_domain; + cl_uint pci_bus; + cl_uint pci_device; + cl_uint pci_function; +} cl_device_pci_bus_info_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>pci_domain</em> is the PCI bus domain of the device.</p> +</li> +<li> +<p><em>pci_bus</em> is the PCI bus identified of the device.</p> +</li> +<li> +<p><em>pci_device</em> is the PCI device identifier of the device.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>pci_function</em> is the PCI device function identifier of the device.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_pci_bus_info.html">cl_khr_pci_bus_info</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_device_pci_bus_info_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_dx9_surface_info_khr.html b/sdk/3.0/docs/man/html/cl_dx9_surface_info_khr.html new file mode 100644 index 0000000..b71ee34 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_dx9_surface_info_khr.html
@@ -0,0 +1,862 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_dx9_surface_info_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_dx9_surface_info_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_dx9_surface_info_khr - Structure describing a DX surface</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_dx9_<wbr>surface_<wbr>info_<wbr>khr</code> structure is passed to +<strong>clCreateFromDX9MediaSurfaceKHR</strong> to describe a DX9 surface, and is defined +as:</p> +</div> +<div id="cl_dx9_surface_info_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_dx9_media_sharing +typedef struct cl_dx9_surface_info_khr { + IDirect3DSurface9* resource; + HANDLE shared_handle; +} cl_dx9_surface_info_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>resource</em> is a pointer to a <code>IDirect3DSurface9</code> surface interface.</p> +</li> +<li> +<p><em>shared_handle</em> is a <code>HANDLE</code> to the resource.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For DX9 surfaces, we need both the handle to the resource and the resource +itself to have a sufficient amount of information to eliminate a copy of the +surface for sharing in cases where this is possible. +Elimination of the copy is driver dependent. +<em>shared_handle</em> may be <code>NULL</code> and this may result in sub-optimal +performance.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_dx9_media_sharing.html">cl_khr_dx9_media_sharing</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_dx9_surface_info_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_image_desc.html b/sdk/3.0/docs/man/html/cl_image_desc.html index 520d83a..07b6b95 100644 --- a/sdk/3.0/docs/man/html/cl_image_desc.html +++ b/sdk/3.0/docs/man/html/cl_image_desc.html
@@ -781,7 +781,8 @@ </div> <div id="cl_image_desc" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">typedef struct cl_image_desc { +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_2 +typedef struct cl_image_desc { cl_mem_object_type image_type; size_t image_width; size_t image_height; @@ -806,13 +807,13 @@ <div class="ulist"> <ul> <li> -<p><code>image_type</code> describes the image type and must be either +<p><em>image_type</em> describes the image type and must be either <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE1D</code>, <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE1D_<wbr>BUFFER</code>, <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE1D_<wbr>ARRAY</code>, <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE2D</code>, <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE2D_<wbr>ARRAY</code>, or <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE3D</code>.</p> </li> <li> -<p><code>image_width</code> is the width of the image in pixels. +<p><em>image_width</em> is the width of the image in pixels. For a 2D image and image array, the image width must be a value ≥ 1 and ≤ <code>CL_DEVICE_<wbr>IMAGE2D_<wbr>MAX_<wbr>WIDTH</code>. For a 3D image, the image width must be a value ≥ 1 and ≤ @@ -823,7 +824,7 @@ and ≤ <code>CL_DEVICE_<wbr>IMAGE2D_<wbr>MAX_<wbr>WIDTH</code>.</p> </li> <li> -<p><code>image_height</code> is the height of the image in pixels. +<p><em>image_height</em> is the height of the image in pixels. This is only used if the image is a 2D or 3D image, or a 2D image array. For a 2D image or image array, the image height must be a value ≥ 1 and ≤ <code>CL_DEVICE_<wbr>IMAGE2D_<wbr>MAX_<wbr>HEIGHT</code>. @@ -831,48 +832,61 @@ <code>CL_DEVICE_<wbr>IMAGE3D_<wbr>MAX_<wbr>HEIGHT</code>.</p> </li> <li> -<p><code>image_depth</code> is the depth of the image in pixels. +<p><em>image_depth</em> is the depth of the image in pixels. This is only used if the image is a 3D image and must be a value ≥ 1 and ≤ <code>CL_DEVICE_<wbr>IMAGE3D_<wbr>MAX_<wbr>DEPTH</code>.</p> </li> <li> -<p><code>image_array_size</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> is the number of +<p><em>image_array_size</em> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> is the number of images in the image array. This is only used if the image is a 1D or 2D image array. The values for <code>image_array_size</code>, if specified, must be a value ≥ 1 and ≤ <code>CL_DEVICE_<wbr>IMAGE_<wbr>MAX_<wbr>ARRAY_<wbr>SIZE</code>.</p> </li> <li> -<p><code>image_row_pitch</code> is the scan-line pitch in bytes. -This must be 0 if <em>host_ptr</em> is <code>NULL</code> and can be either 0 or ≥ -<code>image_width</code> × size of element in bytes if <em>host_ptr</em> is not <code>NULL</code>. -If <em>host_ptr</em> is not <code>NULL</code> and <code>image_row_pitch</code> = 0, <code>image_row_pitch</code> is -calculated as <code>image_width</code> × size of element in bytes. -If <code>image_row_pitch</code> is not 0, it must be a multiple of the image element -size in bytes. -For a 2D image created from a buffer, the pitch specified (or computed if -pitch specified is 0) must be a multiple of the maximum of the -<code>CL_DEVICE_<wbr>IMAGE_<wbr>PITCH_<wbr>ALIGNMENT</code> value for all devices in the context -associated with the buffer specified by <code>mem_object</code> that support images.</p> +<p><em>image_row_pitch</em> is the scan-line pitch in bytes. +The <em>image_row_pitch</em> must be zero if <em>host_ptr</em> is <code>NULL</code>, +the image is not an image created from an external memory handle, +and the image is not a 2D image created from a buffer, +If <em>image_row_pitch</em> is zero and <em>host_ptr</em> is not <code>NULL</code>, then the +image row pitch is calculated as <em>image_width</em> × the size of an +image element in bytes. +If <em>image_row_pitch</em> is zero and the image is created from an external +memory handle, then the image row pitch is implementation-defined. +The image row pitch must be ≥ <em>image_width</em> × the size of an +image element in bytes, and must be a multiple of the size of an image +element in bytes. +For a 2D image created from a buffer the image row pitch must also be a +multiple of the maximum of the <code>CL_DEVICE_<wbr>IMAGE_<wbr>PITCH_<wbr>ALIGNMENT</code> value +for all devices in the context that support images.</p> </li> <li> -<p><code>image_slice_pitch</code> is the size in bytes of each 2D slice in the 3D image or -the size in bytes of each image in a 1D or 2D image array. -This must be 0 if <em>host_ptr</em> is <code>NULL</code>. -If <em>host_ptr</em> is not <code>NULL</code>, <code>image_slice_pitch</code> can be either 0 or ≥ -<code>image_row_pitch</code> × <code>image_height</code> for a 2D image array or 3D image -and can be either 0 or ≥ <code>image_row_pitch</code> for a 1D image array. -If <em>host_ptr</em> is not <code>NULL</code> and <code>image_slice_pitch</code> = 0, <code>image_slice_pitch</code> -is calculated as <code>image_row_pitch</code> × <code>image_height</code> for a 2D image -array or 3D image and <code>image_row_pitch</code> for a 1D image array. -If <code>image_slice_pitch</code> is not 0, it must be a multiple of the -<code>image_row_pitch</code>.</p> +<p><em>image_slice_pitch</em> is the size in bytes of each 2D slice in a 3D image, +or the size in bytes of each image in a 1D or 2D image array. +The <em>image_slice_pitch</em> must be zero if <em>host_ptr</em> is <code>NULL</code> +and the image is not an image created from an external memory handle, +If <em>image_slice_pitch</em> is zero and <em>host_ptr</em> is not <code>NULL</code> then the +image slice pitch is calculated as the image row pitch × +<em>image_height</em> for a 2D image array or a 3D image, and as the image row +pitch for a 1D image array. +If <em>image_slice_pitch</em> is zero and the image is created from an external +memory handle, then the image slice pitch is implementation-defined. +The image slice pitch must be ≥ the image image row pitch × +<em>image_height</em> for a 2D image array or a 3D image, must be ≥ the +image row pitch for a 1D image array, and must be a multiple of the +image row pitch.</p> </li> <li> -<p><code>num_mip_levels</code> and <code>num_samples</code> must be 0.</p> +<p><em>num_mip_levels</em> must be +0 unless the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension is supported, in which +case it must be a value greater than 1 specifying the number of mipmap +levels in the image.</p> </li> <li> -<p><code>mem_object</code> may refer to a valid buffer or image memory object. +<p><em>num_samples</em> must be 0.</p> +</li> +<li> +<p><em>mem_object</em> may refer to a valid buffer or image memory object. <code>mem_object</code> can be a buffer memory object if <code>image_type</code> is <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE1D_<wbr>BUFFER</code> or <code>CL_MEM_<wbr>OBJECT_<wbr>IMAGE2D</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>. @@ -941,12 +955,103 @@ </li> <li> <p>The image channel order specified in <em>image_format</em> must be compatible -with the image channel order associated with <code>mem_object</code>. -Compatible image channel orders -<sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup> are:</p> +with the image channel order associated with <code>mem_object</code>, as described +in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatibile-image-channel-orders-table" target="_blank" rel="noopener">Compatible Image +Channel Orders</a> table.</p> </li> </ul> </div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The image channel order compatibility constraint allows creation of a +sRGB view of the image from a linear RGB view or vice-versa, i.e. the pixels +stored in the image can be accessed as linear RGB or sRGB values. +</td> +</tr> +</table> +</div> +<table id="compatibile-image-channel-orders-table" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Compatible Image Channel Orders</caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Image Channel Order in <em>image_format</em>:</th> +<th class="tableblock halign-left valign-top">Image Channel Order associated with <code>mem_object</code>:</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sBGRA</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_BGRA</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_BGRA</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sBGRA</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGBA</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGBA</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGBA</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGBA</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGB</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGB</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGB</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGB</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGBx</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGBx</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGBx</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_sRGBx</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_R</code></p></td> +</tr> +</tbody> +</table> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>Concurrent reading from, writing to and copying between both a buffer object +and 1D image buffer or 2D image object associated with the buffer object is +undefined. +Only reading from both a buffer object and 1D image buffer or 2D image +object associated with the buffer object is defined.</p> +</div> +<div class="paragraph"> +<p>Writing to an image created from a buffer and then reading from this buffer +in a kernel even if appropriate synchronization operations (such as a +barrier) are performed between the writes and reads is undefined. +Similarly, writing to the buffer and reading from the image created from +this buffer with appropriate synchronization between the writes and reads is +undefined.</p> +</div> +</td> +</tr> +</table> +</div> </div> </div> <div class="sect1"> @@ -973,7 +1078,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -992,14 +1097,11 @@ <div class="footnote" id="_footnotedef_3"> <a href="#_footnoteref_3">3</a>. To create an image object from another image object that share the data store between these image objects. </div> -<div class="footnote" id="_footnotedef_4"> -<a href="#_footnoteref_4">4</a>. This allows creation of a sRGB view of the image from a linear RGB view or vice-versa, i.e. the pixels stored in the image can be accessed as linear RGB or sRGB values. -</div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_image_format.html b/sdk/3.0/docs/man/html/cl_image_format.html index a748b61..ee3bac0 100644 --- a/sdk/3.0/docs/man/html/cl_image_format.html +++ b/sdk/3.0/docs/man/html/cl_image_format.html
@@ -780,7 +780,8 @@ </div> <div id="cl_image_format" class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-opencl" data-lang="opencl">typedef struct cl_image_format { +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_1_0 +typedef struct cl_image_format { cl_channel_order image_channel_order; cl_channel_type image_channel_data_type; } cl_image_format;</code></pre> @@ -794,13 +795,13 @@ <div class="ulist"> <ul> <li> -<p><code>image_channel_order</code> specifies the number of channels and the channel +<p><em>image_channel_order</em> specifies the number of channels and the channel layout i.e. the memory layout in which channels are stored in the image. Valid values are described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-order-table" target="_blank" rel="noopener">Image Channel Order</a> table.</p> </li> <li> -<p><code>image_channel_data_type</code> describes the size of the channel data type. +<p><em>image_channel_data_type</em> describes the size of the channel data type. The list of supported values is described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-channel-data-types-table" target="_blank" rel="noopener">Image Channel Data Types</a> table. The number of bits per element determined by the <code>image_channel_data_type</code> @@ -832,7 +833,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH</code></p> -<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p></td> +<p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 2.0.</p> +<p class="tableblock">Also supported if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A single channel image format where the single channel represents a <code>DEPTH</code> component.</p></td> </tr> <tr> @@ -854,7 +856,19 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_Rx</code></p> <p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#unified-spec" target="_blank" rel="noopener">missing before</a> version 1.1.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">A two channel image format, where the first channel represents a <code>RED</code> component and the second channel is ignored.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A two channel image format, where the first channel represents a <code>RED</code> + component and the second channel is ignored.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH_<wbr>STENCIL</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_depth_images</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A two channel image format, where the first channel represents + a <code>DEPTH</code> component and the second channel represents + a stencil component. + This format can only be used if the image channel data type is + <code>CL_UNORM_<wbr>INT24</code> or <code>CL_FLOAT</code>.</p> +<p class="tableblock"> See <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#restrictions-on-depth-stencil-images" target="_blank" rel="noopener">Restrictions on + Depth/Stencil Images</a>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RGB</code></p></td> @@ -920,7 +934,8 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is a normalized unsigned 8-bit integer value</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT16</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT16</code></p> +<p class="tableblock">Also supported if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is a normalized unsigned 16-bit integer value</p></td> </tr> <tr> @@ -965,6 +980,11 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is an unnormalized unsigned 16-bit integer value</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT24</code></p> +<p class="tableblock">provided by the <code>cl_khr_gl_depth_images</code> extension.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is a normalized unsigned 24-bit integer value</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNSIGNED_<wbr>INT32</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is an unnormalized unsigned 32-bit integer value</p></td> </tr> @@ -973,7 +993,8 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is a 16-bit half-float value</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLOAT</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLOAT</code></p> +<p class="tableblock">Also supported if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Each channel component is a single precision floating-point value</p></td> </tr> </tbody> @@ -1117,7 +1138,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1127,8 +1148,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_3d_image_writes.html b/sdk/3.0/docs/man/html/cl_khr_3d_image_writes.html index c6932df..87fc2cc 100644 --- a/sdk/3.0/docs/man/html/cl_khr_3d_image_writes.html +++ b/sdk/3.0/docs/man/html/cl_khr_3d_image_writes.html
@@ -767,27 +767,93 @@ <h1>cl_khr_3d_image_writes(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_3d_image_writes - Extension to enable writes to 3D image memory objects.</p> +<p>cl_khr_3d_image_writes - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>3d_<wbr>image_<wbr>writes</code> adds built-in OpenCL C functions that allow a +kernel to write to 3D image objects in addition to 2D image objects.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_3d_image_writes">3D Image Writes</a> +section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> </div> <div class="sect1"> <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="cl_image_format.html">cl_image_format</a>, -<a href="imageWriteFunctions.html">imageWriteFunctions</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -795,10 +861,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_3d_image_writes" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_3d_image_writes" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_3d_image_writes</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -806,7 +873,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -816,8 +883,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_async_work_group_copy_fence.html b/sdk/3.0/docs/man/html/cl_khr_async_work_group_copy_fence.html new file mode 100644 index 0000000..3fc0b86 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_async_work_group_copy_fence.html
@@ -0,0 +1,891 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_async_work_group_copy_fence(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_async_work_group_copy_fence(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_async_work_group_copy_fence - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-11-10</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>async_<wbr>work_<wbr>group_<wbr>copy_<wbr>fence</code> adds a new built-in OpenCL C function +to establish a memory synchronization ordering of asynchronous copies.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_async_work_group_copy_fence">Async +Work-group Copy Fence</a> section of the OpenCL C specification for more +information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2021-11-10</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_async_work_group_copy_fence" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_byte_addressable_store.html b/sdk/3.0/docs/man/html/cl_khr_byte_addressable_store.html index 5b0cc2c..074139c 100644 --- a/sdk/3.0/docs/man/html/cl_khr_byte_addressable_store.html +++ b/sdk/3.0/docs/man/html/cl_khr_byte_addressable_store.html
@@ -767,25 +767,109 @@ <h1>cl_khr_byte_addressable_store(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_byte_addressable_store - deprecated extension</p> +<p>cl_khr_byte_addressable_store - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>Interactions and External Dependencies</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Promoted to OpenCL 1.1 core</p> +</li> +</ul> +</div> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to OpenCL 1.1 core.</p> +<p><code>cl_khr_<wbr>byte_<wbr>addressable_<wbr>store</code> relaxes restrictions on pointers to <code>char</code>, +<code>uchar</code>, <code>char2</code>, <code>uchar2</code>, <code>short</code>, <code>ushort</code> and <code>half</code> that were present +in <em>Section 6.8m: Restrictions</em> of the OpenCL 1.0 specification. +With this extension, applications are able to read from and write to +pointers to these types.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 1.1.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_byte_addressable_store">Byte-Addressable +Storage</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> </div> </div> </div> @@ -793,10 +877,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL API Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_byte_addressable_store" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#changes_to_opencl" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#changes_to_opencl</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -804,7 +889,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -814,8 +899,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_command_buffer.html b/sdk/3.0/docs/man/html/cl_khr_command_buffer.html new file mode 100644 index 0000000..09a3587 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_command_buffer.html
@@ -0,0 +1,1610 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_command_buffer(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_command_buffer(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_command_buffer - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_api_interactions"><a class="anchor" href="#_api_interactions"></a>API Interactions</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Interacts with CL_VERSION_2_0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2023-03-31</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ewan Crawford, Codeplay Software Ltd.</p> +</li> +<li> +<p>Gordon Brown, Codeplay Software Ltd.</p> +</li> +<li> +<p>Kenneth Benzie, Codeplay Software Ltd.</p> +</li> +<li> +<p>Alastair Murray, Codeplay Software Ltd.</p> +</li> +<li> +<p>Jack Frankland, Codeplay Software Ltd.</p> +</li> +<li> +<p>Balaji Calidas, Qualcomm Technologies Inc.</p> +</li> +<li> +<p>Joshua Kelly, Qualcomm Technologies, Inc.</p> +</li> +<li> +<p>Kevin Petit, Arm Ltd.</p> +</li> +<li> +<p>Aharon Abramson, Intel.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel.</p> +</li> +<li> +<p>Boaz Ouriel, Intel.</p> +</li> +<li> +<p>Chris Gearing, Intel.</p> +</li> +<li> +<p>Pekka Jääskeläinen, Tampere University and Intel</p> +</li> +<li> +<p>Jan Solanti, Tampere University</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>James Price, Google</p> +</li> +<li> +<p>Brice Videau, Argonne National Laboratory</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>command_<wbr>buffer</code> adds the ability to record and replay buffers of +OpenCL commands.</p> +</div> +<div class="paragraph"> +<p>Command-buffers enable a reduction in overhead when enqueuing the same +workload multiple times. By separating the command-queue setup from dispatch, +the ability to replay a set of previously created commands is introduced.</p> +</div> +<div class="paragraph"> +<p>Device-side <em>cl_sync_point_khr</em> synchronization-points can be used within +command-buffers to define command dependencies. This allows the commands of a +command-buffer to execute out-of-order on a single <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">compatible</a> +command-queue. The command-buffer itself has no inherent in-order/out-of-order +property, this ordering is inferred from the command-queue used on command +recording. Out-of-order enqueues without event dependencies of both regular +commands, such as <strong>clEnqueueFillBuffer</strong>, and command-buffers are allowed to +execute concurrently, and it is up to the user to express any dependencies using +events.</p> +</div> +<div class="paragraph"> +<p>The command-queues a command-buffer will be executed on can be set on replay via +parameters to <strong>clEnqueueCommandBufferKHR</strong>, provided they are +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">compatible</a> with the command-queues used on command-buffer +recording.</p> +</div> +<div class="sect2"> +<h3 id="_background"><a class="anchor" href="#_background"></a>Background</h3> +<div class="paragraph"> +<p>On embedded devices where building a command stream accounts for a significant +expenditure of resources and where workloads are often required to be pipelined, +a solution that minimizes driver overhead can significantly improve the +utilization of accelerators by removing a bottleneck in repeated command stream +generation.</p> +</div> +<div class="paragraph"> +<p>An additional motivator is lowering task execution latency, as devices can be +kept occupied with work by repeated submissions, without having to wait on +the host to construct commands again for a similar workload.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_rationale"><a class="anchor" href="#_rationale"></a>Rationale</h3> +<div class="paragraph"> +<p>The command-buffer abstraction over the generation of command streams is a +proven approach which facilitates a significant reduction in driver overhead in +existing real-world applications with repetitive pipelined workloads which are +built on top of Vulkan, DirectX 12, and Metal.</p> +</div> +<div class="paragraph"> +<p>A primary goal is for a command-buffer to avoid any interaction with +application code after being enqueued until all recorded commands have +completed. As such, any command which maps or migrates memory objects; reads +or writes memory objects; or enqueues a native kernel, is not available for +command-buffer recording. Finally commands recorded into a command buffer do +not wait for or return event objects, these are instead replaced with +device-side synchronization-point identifiers which enable out-of-order +execution when enqueued on <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#compatible" target="_blank" rel="noopener">compatible</a> command-queues.</p> +</div> +<div class="paragraph"> +<p>Adding new entry-points for individual commands, rather than recording existing +command-queue APIs with begin/end markers was a design decision made for the +following reasons:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Individually specified entry points makes it clearer to the user what’s +supported, as opposed to adding a large number of error conditions +throughout the specification with all the restrictions.</p> +</li> +<li> +<p>Prevents code forking in existing entry points for the implementer, as +otherwise separate paths in each entry point need to be maintained for both +the recording and normal cases.</p> +</li> +<li> +<p>Allows the definition of a new device-side synchronization primitive rather +than overloading <code>cl_event</code>. As use of <code>cl_event</code> in individual commands +allows host interaction from callback and user-events, as well as introducing +complexities when a command-buffer is enqueued multiple times regarding +profiling and execution status.</p> +</li> +<li> +<p>New entry points facilitate returning handles to individual commands, allowing +those commands to be modified between enqueues of the command buffer. Not all +command handles are used in this extension, but providing them facilitates +other extensions layered on top to take advantage of them to provide additional +mutable functionality.</p> +</li> +</ul> +</div> +</div> +<div class="sect2"> +<h3 id="_simultaneous_use"><a class="anchor" href="#_simultaneous_use"></a>Simultaneous Use</h3> +<div class="paragraph"> +<p>The optional simultaneous use capability was added to the extension so that +vendors can support pipelined workflows, where command-buffers are repeatedly +enqueued without blocking in user code. However, simultaneous use may result in +command-buffers being more expensive to enqueue than in a sequential model, so +the capability is optional to enable optimizations on command-buffer recording.</p> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_interactions_with_other_extensions"><a class="anchor" href="#_interactions_with_other_extensions"></a>Interactions With Other Extensions</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The introduction of the command-buffer abstraction enables functionality +beyond what the <code>cl_khr_<wbr>command_<wbr>buffer</code> extension currently provides, i.e. +the recording of immutable commands to a single queue which can then be +executed without commands synchronizing outside the command-buffer. Extra +functionality expanding on this is provided as layered extensions on top of +<code>cl_khr_<wbr>command_<wbr>buffer</code>. The layered extensions that currently exist are:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code></p> +</li> +<li> +<p><code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Having <code>cl_khr_<wbr>command_<wbr>buffer</code> as a minimal base specification means that the +API defines mechanisms for functionality that is not enabled by this extension, +these are described in the following sub-sections. <code>cl_khr_<wbr>command_<wbr>buffer</code> will +retain its provisional extension status until other layered extensions are +released, as these may reveal modifications needed to the base specification to +support their intended use cases.</p> +</div> +<div class="sect2"> +<h3 id="_nd_range_kernel_command_properties"><a class="anchor" href="#_nd_range_kernel_command_properties"></a>ND-range Kernel Command Properties</h3> +<div class="paragraph"> +<p>The <strong>clCommandNDRangeKernelKHR</strong> entry-point defines a <code>properties</code> parameter of +new type <code>cl_ndrange_<wbr>kernel_<wbr>command_<wbr>properties_<wbr>khr</code>. No properties are defined +in <code>cl_khr_<wbr>command_<wbr>buffer</code>, but the parameter enables layered extensions like +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> to define properties that inform +the characteristics of the kernel command.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_command_handles"><a class="anchor" href="#_command_handles"></a>Command Handles</h3> +<div class="paragraph"> +<p>All command recording entry-points define a <code>cl_mutable_<wbr>command_<wbr>khr</code> output +parameter which provides a handle to the specific command being recorded. Use of +these output handles is not enabled by the <code>cl_khr_<wbr>command_<wbr>buffer</code> extension, +but the handles allow individual commands in a command-buffer to be +referenced by the user.</p> +</div> +<div class="paragraph"> +<p>Use of these handles is enabled in <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> +to give the capability for an application to use the handles to modify commands +between enqueues of a command-buffer.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_list_of_queues"><a class="anchor" href="#_list_of_queues"></a>List of Queues</h3> +<div class="paragraph"> +<p>Only a single command-queue can be associated with a command-buffer in the +<code>cl_khr_<wbr>command_<wbr>buffer</code> extension, but the API is designed so that the layered +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extension can relax this constraint +to allow commands to be recorded across multiple queues in the same +command-buffer, providing replay of heterogeneous task graphs.</p> +</div> +<div class="paragraph"> +<p>Using multiple queue functionality will result in an error without +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> to relax usage of the following API +features:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>When a command-buffer is created the API enables passing a list of queues +that the command-buffer will record commands to. Only a single queue is +permitted in <code>cl_khr_<wbr>command_<wbr>buffer</code>.</p> +</li> +<li> +<p>Individual command recording entry-points define a <code>cl_command_<wbr>queue</code> +parameter for which of the queues set on command-buffer creation that command +should be record to. This must be passed as NULL in <code>cl_khr_<wbr>command_<wbr>buffer</code>.</p> +</li> +<li> +<p><strong>clEnqueueCommandBufferKHR</strong> takes a list of queues for command-buffer execution, +correspond to those set on creation. Only a single queue is permitted in +<code>cl_khr_<wbr>command_<wbr>buffer</code>.</p> +</li> +</ul> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateCommandBufferKHR</strong></p> +</li> +<li> +<p><strong>clRetainCommandBufferKHR</strong></p> +</li> +<li> +<p><strong>clReleaseCommandBufferKHR</strong></p> +</li> +<li> +<p><strong>clFinalizeCommandBufferKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueCommandBufferKHR</strong></p> +</li> +<li> +<p><strong>clCommandBarrierWithWaitListKHR</strong></p> +</li> +<li> +<p><strong>clCommandCopyBufferKHR</strong></p> +</li> +<li> +<p><strong>clCommandCopyBufferRectKHR</strong></p> +</li> +<li> +<p><strong>clCommandCopyBufferToImageKHR</strong></p> +</li> +<li> +<p><strong>clCommandCopyImageKHR</strong></p> +</li> +<li> +<p><strong>clCommandCopyImageToBufferKHR</strong></p> +</li> +<li> +<p><strong>clCommandFillBufferKHR</strong></p> +</li> +<li> +<p><strong>clCommandFillImageKHR</strong></p> +</li> +<li> +<p><strong>clCommandNDRangeKernelKHR</strong></p> +</li> +<li> +<p><strong>clGetCommandBufferInfoKHR</strong></p> +</li> +<li> +<p>The following SVM entry points are supported only with at least OpenCL 2.0, +and starting from version 0.9.4 of this extension</p> +<div class="ulist"> +<ul> +<li> +<p><strong>clCommandSVMMemcpyKHR</strong></p> +</li> +<li> +<p><strong>clCommandSVMMemFillKHR</strong></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_sync_<wbr>point_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>info_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>state_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>properties_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>flags_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_ndrange_<wbr>kernel_<wbr>command_<wbr>properties_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>command_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>CAPABILITIES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>REQUIRED_<wbr>QUEUE_<wbr>PROPERTIES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>KERNEL_<wbr>PRINTF_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>DEVICE_<wbr>SIDE_<wbr>ENQUEUE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>OUT_<wbr>OF_<wbr>ORDER_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>properties_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>FLAGS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>flags_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>SIMULTANEOUS_<wbr>USE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>info_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>QUEUES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>NUM_<wbr>QUEUES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>REFERENCE_<wbr>COUNT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>PROPERTIES_<wbr>ARRAY_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>state_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>RECORDING_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>EXECUTABLE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>STATE_<wbr>PENDING_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INVALID_<wbr>SYNC_<wbr>POINT_<wbr>WAIT_<wbr>LIST_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INCOMPATIBLE_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample_code"><a class="anchor" href="#_sample_code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code> #define CL_CHECK(ERROR) \ + if (ERROR) { \ + std::cerr << "OpenCL error: " << ERROR << "\n"; \ + return ERROR; \ + } + + int main() { + cl_platform_id platform; + CL_CHECK(clGetPlatformIDs(1, &platform, nullptr)); + cl_device_id device; + CL_CHECK(clGetDeviceIDs(platform, CL_DEVICE_TYPE_ALL, 1, &device, nullptr)); + + cl_int error; + cl_context context = + clCreateContext(nullptr, 1, &device, nullptr, nullptr, &error); + CL_CHECK(error); + + const char* code = R"OpenCLC( + kernel void vector_addition(global int* tile1, global int* tile2, + global int* res) { + size_t index = get_global_id(0); + res[index] = tile1[index] + tile2[index]; + } + )OpenCLC"; + const size_t length = std::strlen(code); + + cl_program program = + clCreateProgramWithSource(context, 1, &code, &length, &error); + CL_CHECK(error); + + CL_CHECK(clBuildProgram(program, 1, &device, nullptr, nullptr, nullptr)); + + cl_kernel kernel = clCreateKernel(program, "vector_addition", &error); + CL_CHECK(error); + + constexpr size_t frame_count = 60; + constexpr size_t frame_elements = 1024; + constexpr size_t frame_size = frame_elements * sizeof(cl_int); + + constexpr size_t tile_count = 16; + constexpr size_t tile_elements = frame_elements / tile_count; + constexpr size_t tile_size = tile_elements * sizeof(cl_int); + + cl_mem buffer_tile1 = + clCreateBuffer(context, CL_MEM_READ_ONLY, tile_size, nullptr, &error); + CL_CHECK(error); + cl_mem buffer_tile2 = + clCreateBuffer(context, CL_MEM_READ_ONLY, tile_size, nullptr, &error); + CL_CHECK(error); + cl_mem buffer_res = + clCreateBuffer(context, CL_MEM_WRITE_ONLY, tile_size, nullptr, &error); + CL_CHECK(error); + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(buffer_tile1), &buffer_tile1)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(buffer_tile2), &buffer_tile2)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(buffer_res), &buffer_res)); + + cl_command_queue command_queue = + clCreateCommandQueue(context, device, + CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, &error); + CL_CHECK(error); + + cl_command_buffer_khr command_buffer = + clCreateCommandBufferKHR(1, &command_queue, nullptr, &error); + CL_CHECK(error); + + cl_mem buffer_src1 = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + cl_mem buffer_src2 = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + cl_mem buffer_dst = + clCreateBuffer(context, CL_MEM_WRITE_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + + cl_sync_point_khr tile_sync_point = 0; + for (size_t tile_index = 0; tile_index < tile_count; tile_index++) { + std::array<cl_sync_point_khr, 2> copy_sync_points; + CL_CHECK(clCommandCopyBufferKHR(command_buffer, + command_queue, buffer_src1, buffer_tile1, tile_index * tile_size, 0, + tile_size, tile_sync_point ? 1 : 0, + tile_sync_point ? &tile_sync_point : nullptr, &copy_sync_points[0]), + nullptr); + CL_CHECK(clCommandCopyBufferKHR(command_buffer, + command_queue, buffer_src2, buffer_tile2, tile_index * tile_size, 0, + tile_size, tile_sync_point ? 1 : 0, + tile_sync_point ? &tile_sync_point : nullptr, &copy_sync_points[1]), + nullptr); + + cl_sync_point_khr nd_sync_point; + CL_CHECK(clCommandNDRangeKernelKHR(command_buffer, + command_queue, nullptr, kernel, 1, nullptr, &tile_elements, nullptr, + copy_sync_points.size(), copy_sync_points.data(), &nd_sync_point, + nullptr)); + + CL_CHECK(clCommandCopyBufferKHR(command_buffer, + command_queue, buffer_res, buffer_dst, 0, tile_index * tile_size, + tile_size, 1, &nd_sync_point, &tile_sync_point, nullptr)); + } + + CL_CHECK(clFinalizeCommandBufferKHR(command_buffer)); + + std::random_device random_device; + std::mt19937 random_engine{random_device()}; + std::uniform_int_distribution<cl_int> random_distribution{ + 0, std::numeric_limits<cl_int>::max() / 2}; + auto random_generator = [&]() { return random_distribution(random_engine); }; + + for (size_t frame_index = 0; frame_index < frame_count; frame_index++) { + std::array<cl_event, 2> write_src_events; + std::vector<cl_int> src1(frame_elements); + std::generate(src1.begin(), src1.end(), random_generator); + CL_CHECK(clEnqueueWriteBuffer(command_queue, buffer_src1, CL_FALSE, 0, + frame_size, src1.data(), 0, nullptr, + &write_src_events[0])); + std::vector<cl_int> src2(frame_elements); + std::generate(src2.begin(), src2.end(), random_generator); + CL_CHECK(clEnqueueWriteBuffer(command_queue, buffer_src2, CL_FALSE, 0, + frame_size, src2.data(), 0, nullptr, + &write_src_events[1])); + + CL_CHECK(clEnqueueCommandBufferKHR(0, NULL, command_buffer, 2, + write_src_events.data(), nullptr)); + + CL_CHECK(clFinish(command_queue)); + + CL_CHECK(clReleaseEvent(write_src_event[0])); + CL_CHECK(clReleaseEvent(write_src_event[1])); + } + + CL_CHECK(clReleaseCommandBufferKHR(command_buffer)); + CL_CHECK(clReleaseCommandQueue(command_queue)); + + CL_CHECK(clReleaseMemObject(buffer_src1)); + CL_CHECK(clReleaseMemObject(buffer_src2)); + CL_CHECK(clReleaseMemObject(buffer_dst)); + + CL_CHECK(clReleaseMemObject(buffer_tile1)); + CL_CHECK(clReleaseMemObject(buffer_tile2)); + CL_CHECK(clReleaseMemObject(buffer_res)); + + CL_CHECK(clReleaseKernel(kernel)); + CL_CHECK(clReleaseProgram(program)); + CL_CHECK(clReleaseContext(context)); + + return 0; + }</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Introduce a <code>clCloneCommandBufferKHR</code> entry-point for cloning a +command-buffer.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>UNRESOLVED</strong></p> +</div> +</div> +</div> +</li> +<li> +<p>Enable detached command-buffer execution, where command-buffers are executed +on their own internal queue to prevent locking user created queues for the +duration of their execution.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>UNRESOLVED</strong></p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-11-10</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>0.9.1, 2022-08-24</p> +<div class="ulist"> +<ul> +<li> +<p>Specify an error if a command-buffer is finalized multiple times +(provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>0.9.2, 2023-03-31</p> +<div class="ulist"> +<ul> +<li> +<p>Introduce context query <code>CL_COMMAND_<wbr>BUFFER_<wbr>CONTEXT_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>0.9.3, 2023-04-04</p> +<div class="ulist"> +<ul> +<li> +<p>Remove Invalid command-buffer state (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>0.9.4, 2023-05-11</p> +<div class="ulist"> +<ul> +<li> +<p>Add clCommandSVMMemcpyKHR and clCommandSVMMemFillKHR command entries +(provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_command_buffer_multi_device.html b/sdk/3.0/docs/man/html/cl_khr_command_buffer_multi_device.html new file mode 100644 index 0000000..8363a58 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_command_buffer_multi_device.html
@@ -0,0 +1,1321 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_command_buffer_multi_device(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_command_buffer_multi_device(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_command_buffer_multi_device - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_command_buffer">[cl_khr_command_buffer]</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2023-04-30</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ewan Crawford, Codeplay Software Ltd.</p> +</li> +<li> +<p>Gordon Brown, Codeplay Software Ltd.</p> +</li> +<li> +<p>Kenneth Benzie, Codeplay Software Ltd.</p> +</li> +<li> +<p>Alastair Murray, Codeplay Software Ltd.</p> +</li> +<li> +<p>Jack Frankland, Codeplay Software Ltd.</p> +</li> +<li> +<p>Balaji Calidas, Qualcomm Technologies Inc.</p> +</li> +<li> +<p>Joshua Kelly, Qualcomm Technologies, Inc.</p> +</li> +<li> +<p>Kevin Petit, Arm Ltd.</p> +</li> +<li> +<p>Aharon Abramson, Intel.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel.</p> +</li> +<li> +<p>Boaz Ouriel, Intel.</p> +</li> +<li> +<p>Pekka Jääskeläinen, Tampere University and Intel.</p> +</li> +<li> +<p>Jan Solanti, Tampere University</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>James Price, Google</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_khr_<wbr>command_<wbr>buffer</code> extension separates command construction from +enqueue by providing a mechanism to record a set of commands which can then +be repeatedly enqueued. +However, the commands in a command-buffer can only be recorded to a single +command-queue specified on command-buffer creation.</p> +</div> +<div class="paragraph"> +<p><code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code> extends the scope of a command-buffer +to allow commands to be recorded across multiple queues in the same +command-buffer, providing execution of heterogeneous task graphs from +command-queues associated with different devices.</p> +</div> +<div class="paragraph"> +<p>The ability for a user to deep copy an existing command-buffer so that the +commands target a different device is also made possible by +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>multi_<wbr>device</code>. +Depending on platform support the mapping of commands to the new target +device can be done either explicitly by the user, or automatically by the +OpenCL runtime.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clRemapCommandBufferKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Bitfield for querying command-buffer capabilities of an OpenCL Platform with +<strong>clGetPlatformInfo</strong>, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#multi-device-platform-queries" target="_blank" rel="noopener">platform +queries table</a>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>cl_platform_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Enums for querying device command-buffer capabilities with +<strong>clGetDeviceInfo</strong>, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#multi-device-queries" target="_blank" rel="noopener">device queries table</a>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>NUM_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SYNC_<wbr>DEVICES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>MULTIPLE_<wbr>QUEUE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>flags_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>DEVICE_<wbr>SIDE_<wbr>SYNC_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>COMMAND_<wbr>BUFFER_<wbr>CAPABILITIES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_platform_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>UNIVERSAL_<wbr>SYNC_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>REMAP_<wbr>QUEUES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>PLATFORM_<wbr>AUTOMATIC_<wbr>REMAP_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample_code"><a class="anchor" href="#_sample_code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">#define CL_CHECK(ERROR) \ + if (ERROR) { \ + std::cerr << "OpenCL error: " << ERROR << "\n"; \ + return ERROR; \ + } + +int main() { + cl_platform_id platform; + CL_CHECK(clGetPlatformIDs(1, &platform, nullptr)); + cl_platform_command_buffer_capabilities_khr platform_caps; + CL_CHECK(clGetPlatformInfo(platform, + CL_PLATFORM_COMMAND_BUFFER_CAPABILITIES_KHR, + sizeof(platform_caps), &platform_caps, NULL)); + if (!(platform_caps & CL_COMMAND_BUFFER_PLATFORM_AUTOMATIC_REMAP_KHR)) { + std::cerr << "Command-buffer remapping not supported but used in example, " + "skipping\n"; + return 0; + } + + cl_uint num_devices = 0; + CL_CHECK(clGetDeviceIDs(platform, CL_DEVICE_TYPE_ALL, 0, NULL, &num_devices)); + std::vector<cl_device_id> devices(num_devices); + CL_CHECK( + clGetDeviceIDs(platform, CL_DEVICE_TYPE_ALL, 1, devices.data(), nullptr)); + + // Checks omitted for brevity that either a) the platform supports + // CL_COMMAND_BUFFER_PLATFORM_UNIVERSAL_SYNC_KHR or b) each device is listed + // in the others CL_DEVICE_COMMAND_BUFFER_SYNC_DEVICES_KHR + + cl_int error; + cl_context context = + clCreateContext(NULL, num_devices, devices.data(), NULL, NULL, &error); + CL_CHECK(error); + + std::vector<cl_command_queue> queues(num_devices); + for (cl_uint i = 0; i < num_devices; i++) { + queues[i] = clCreateCommandQueue(context, devices[i], 0, &error); + CL_CHECK(error); + } + + const char *code = R"OpenCLC( + kernel void vector_addition(global int* tile1, global int* tile2, + global int* res) { + size_t index = get_global_id(0); + res[index] = tile1[index] + tile2[index]; + } + )OpenCLC"; + const size_t length = std::strlen(code); + + cl_program program = + clCreateProgramWithSource(context, 1, &code, &length, &error); + CL_CHECK(error); + + CL_CHECK( + clBuildProgram(program, num_devices, devices.data(), NULL, NULL, NULL)); + + cl_kernel kernel = clCreateKernel(program, "vector_addition", &error); + CL_CHECK(error); + + constexpr size_t frame_count = 60; + constexpr size_t frame_elements = 1024; + constexpr size_t frame_size = frame_elements * sizeof(cl_int); + + constexpr size_t tile_count = 16; + constexpr size_t tile_elements = frame_elements / tile_count; + constexpr size_t tile_size = tile_elements * sizeof(cl_int); + + cl_mem buffer_tile1 = + clCreateBuffer(context, CL_MEM_READ_ONLY, tile_size, NULL, &error); + CL_CHECK(error); + + cl_mem buffer_tile2 = + clCreateBuffer(context, CL_MEM_READ_ONLY, tile_size, NULL, &error); + CL_CHECK(error); + + cl_mem buffer_res = + clCreateBuffer(context, CL_MEM_WRITE_ONLY, tile_size, NULL, &error); + CL_CHECK(error); + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(buffer_tile1), &buffer_tile1)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(buffer_tile2), &buffer_tile2)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(buffer_res), &buffer_res)); + + cl_command_buffer_khr original_cmdbuf = + clCreateCommandBufferKHR(num_devices, queues.data(), nullptr, &error); + CL_CHECK(error); + + cl_mem buffer_src1 = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, NULL, &error); + CL_CHECK(error); + + cl_mem buffer_src2 = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, NULL, &error); + CL_CHECK(error); + + cl_mem buffer_dst = + clCreateBuffer(context, CL_MEM_READ_WRITE, frame_size, NULL, &error); + CL_CHECK(error); + + cl_sync_point_khr tile_sync_point = 0; + for (size_t tile_index = 0; tile_index < tile_count; tile_index++) { + cl_sync_point_khr copy_sync_points[2]; + CL_CHECK(clCommandCopyBufferKHR( + original_cmdbuf, queues[tile_index % num_devices], buffer_src1, + buffer_tile1, tile_index * tile_size, 0, tile_size, + tile_sync_point ? 1 : 0, tile_sync_point ? &tile_sync_point : NULL, + &copy_sync_points[0], NULL)); + + CL_CHECK(clCommandCopyBufferKHR( + original_cmdbuf, queues[tile_index % num_devices], buffer_src2, + buffer_tile2, tile_index * tile_size, 0, tile_size, + tile_sync_point ? 1 : 0, + tile_sync_point ? &tile_sync_point : nullptr, + &copy_sync_points[1], NULL)); + + cl_sync_point_khr nd_sync_point; + CL_CHECK(clCommandNDRangeKernelKHR( + original_cmdbuf, queues[tile_index % num_devices], NULL, kernel, 1, + NULL, &tile_elements, NULL, 2, copy_sync_points, &nd_sync_point, NULL)); + + CL_CHECK(clCommandCopyBufferKHR( + original_cmdbuf, queues[tile_index % num_devices], buffer_res, + buffer_dst, 0, tile_index * tile_size, tile_size, 1, &nd_sync_point, + &tile_sync_point, NULL)); + } + + CL_CHECK(clFinalizeCommandBufferKHR(original_cmdbuf)); + + std::random_device random_device; + std::mt19937 random_engine{random_device()}; + std::uniform_int_distribution<cl_int> random_distribution{ + 0, std::numeric_limits<cl_int>::max() / 2}; + auto random_generator = [&]() { return random_distribution(random_engine); }; + + auto enqueue_frame = [&](cl_command_buffer_khr command_buffer) { + for (size_t frame_index = 0; frame_index < frame_count; frame_index++) { + std::array<cl_event, 3> enqueue_events; + std::vector<cl_int> src1(frame_elements); + std::generate(src1.begin(), src1.end(), random_generator); + CL_CHECK(clEnqueueWriteBuffer(queues[0], buffer_src1, CL_FALSE, 0, + frame_size, src1.data(), 0, nullptr, + &enqueue_events[0])); + std::vector<cl_int> src2(frame_elements); + std::generate(src2.begin(), src2.end(), random_generator); + CL_CHECK(clEnqueueWriteBuffer(queues[0], buffer_src2, CL_FALSE, 0, + frame_size, src2.data(), 0, nullptr, + &enqueue_events[1])); + + CL_CHECK(clEnqueueCommandBufferKHR(0, NULL, command_buffer, 2, + enqueue_events.data(), + &enqueue_events[2])); + + CL_CHECK(clWaitForEvents(1, enqueue_events[2])); + + for (auto e : enqueue_events) { + CL_CHECK(clReleaseEvent(e)); + } + } + return 0; + }; + + error = enqueue_frame(original_cmdbuf); + CL_CHECK(error); + + // Remap from N queues to 1 queue and run again + cl_command_buffer_khr remapped_cmdbuf = clRemapCommandBufferKHR( + original_cmdbuf, CL_TRUE, 1, queues.data(), 0, NULL, NULL, &error); + CL_CHECK(error); + + error = enqueue_frame(remapped_cmdbuf); + CL_CHECK(error); + + for (unsigned i = 0; i < num_devices; ++i) { + CL_CHECK(clReleaseCommandQueue(queues[i])); + } + CL_CHECK(clReleaseMemObject(buffer_src1)); + CL_CHECK(clReleaseMemObject(buffer_src2)); + CL_CHECK(clReleaseMemObject(buffer_dst)); + + CL_CHECK(clReleaseMemObject(buffer_tile1)); + CL_CHECK(clReleaseMemObject(buffer_tile2)); + CL_CHECK(clReleaseMemObject(buffer_res)); + + CL_CHECK(clReleaseCommandBufferKHR(original_cmdbuf)); + CL_CHECK(clReleaseCommandBufferKHR(remapped_cmdbuf)); + + CL_CHECK(clReleaseKernel(kernel)); + CL_CHECK(clReleaseProgram(program)); + CL_CHECK(clReleaseContext(context)); + + return 0; +}</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>In cl_event profiling info for a command-buffer running across the queues for +several devices, how do we know what the first & last commands executed +are if there is concurrent execution across devices.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Allowed an implementation to fallback to +<code>CL_PROFILING_<wbr>COMMAND_<wbr>SUBMIT</code> and <code>CL_PROFILING_<wbr>COMMAND_<wbr>COMPLETE</code> when +reporting <code>CL_PROFILING_<wbr>COMMAND_<wbr>START</code> & <code>CL_PROFILING_<wbr>COMMAND_<wbr>END</code>.</p> +</div> +</div> +</div> +</li> +<li> +<p>Is an atomic constraint required? This would forbid regular clEnqueue* commands, +from interleaving execution on a queue which a command-buffer is being +executed on.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: This behavior can block parallelism, and constraint is +expressible by the user through existing synchronization mechanisms if they +require it.</p> +</div> +</div> +</div> +</li> +<li> +<p>It is currently an error if a set of command-queues passed to +<strong>clEnqueueCommandBufferKHR</strong> aren’t compatible with those set on recording. +Should we relax this as an optional capability that allows an +implementation to do a more expensive command-buffer enqueue for this +case?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Added as an optional feature.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2023-04-14</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-04-30</p> +<div class="ulist"> +<ul> +<li> +<p>Added clCommandSVMMemcpyKHR and clCommandSVMMemFillKHR as affected +functions (provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_multi_device" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_command_buffer_mutable_dispatch.html b/sdk/3.0/docs/man/html/cl_khr_command_buffer_mutable_dispatch.html new file mode 100644 index 0000000..339d96b --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_command_buffer_mutable_dispatch.html
@@ -0,0 +1,1459 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_command_buffer_mutable_dispatch(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_command_buffer_mutable_dispatch(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_command_buffer_mutable_dispatch - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_command_buffer">[cl_khr_command_buffer]</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2022-08-31</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ewan Crawford, Codeplay Software Ltd.</p> +</li> +<li> +<p>Gordon Brown, Codeplay Software Ltd.</p> +</li> +<li> +<p>Kenneth Benzie, Codeplay Software Ltd.</p> +</li> +<li> +<p>Alastair Murray, Codeplay Software Ltd.</p> +</li> +<li> +<p>Jack Frankland, Codeplay Software Ltd.</p> +</li> +<li> +<p>Balaji Calidas, Qualcomm Technologies Inc.</p> +</li> +<li> +<p>Joshua Kelly, Qualcomm Technologies, Inc.</p> +</li> +<li> +<p>Kevin Petit, Arm Ltd.</p> +</li> +<li> +<p>Aharon Abramson, Intel.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel.</p> +</li> +<li> +<p>Boaz Ouriel, Intel.</p> +</li> +<li> +<p>Pekka Jääskeläinen, Tampere University</p> +</li> +<li> +<p>Jan Solanti, Tampere University</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>James Price, Google</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_khr_<wbr>command_<wbr>buffer</code> extension separates command construction +from enqueue by providing a mechanism to record a set of commands which can +then be repeatedly enqueued. +However, the commands recorded to the command-buffer are immutable between +enqueues.</p> +</div> +<div class="paragraph"> +<p><code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> removes this restriction. +In particular, this extension allows the configuration of a kernel execution +command in a command-buffer, called a <em>mutable-dispatch</em>, to be modified. +This allows inputs and outputs to the kernel, as well as work-item sizes and +offsets, to change without having to re-record the entire command sequence +in a new command-buffer.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_interactions_with_other_extensions"><a class="anchor" href="#_interactions_with_other_extensions"></a>Interactions With Other Extensions</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_command_<wbr>buffer_<wbr>structure_<wbr>type_<wbr>khr</code> type has been added to this +extension for the purpose of allowing expansion of mutable functionality in +future extensions layered on top of +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code>. +Any parameter that is a structure containing a <code>void* next</code> member <strong>must</strong> +have a value of <code>next</code> that is either <code>NULL</code>, or is a pointer to a valid +structure defined by <code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> or an +extension layered on top. +To be a valid structure in the pointer chain the first member of the +structure <strong>must</strong> be a <code>cl_command_<wbr>buffer_<wbr>structure_<wbr>type_<wbr>khr</code> identifier +for the structure being iterated through, and the second member a <code>void* +next</code> pointer to the next structure in the chain.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>This approach is based on structure pointer chains in Vulkan, for more +details see the “Valid Usage for Structure Pointer Chains” section of the +Vulkan specification.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>This is designed so that another extension layered on +<code>cl_khr_<wbr>command_<wbr>buffer_<wbr>mutable_<wbr>dispatch</code> could allow modification of +commands recorded to a command-buffer other than kernel execution commands. +As all command recording entry-points return a <code>cl_mutable_<wbr>command_<wbr>khr</code> +handle, and aspects like which <code>cl_mem</code> object a command uses could +also be updated between enqueues of the command-buffer.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clUpdateMutableCommandsKHR</strong></p> +</li> +<li> +<p><strong>clGetMutableCommandInfoKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>fields_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>command_<wbr>info_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>structure_<wbr>type_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>base_<wbr>config_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>asserts_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>config_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>exec_<wbr>info_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>arg_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CAPABILITIES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_ndrange_<wbr>kernel_<wbr>command_<wbr>properties_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>UPDATABLE_<wbr>FIELDS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>asserts_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ASSERT_<wbr>NO_<wbr>ADDITIONAL_<wbr>WORK_<wbr>GROUPS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mutable_<wbr>dispatch_<wbr>fields_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>OFFSET_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>SIZE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>SIZE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>ARGUMENTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>EXEC_<wbr>INFO_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mutable_<wbr>command_<wbr>info_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>QUEUE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>BUFFER_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>PROPERTIES_<wbr>ARRAY_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>KERNEL_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>DIMENSIONS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>WORK_<wbr>OFFSET_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>GLOBAL_<wbr>WORK_<wbr>SIZE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>DISPATCH_<wbr>LOCAL_<wbr>WORK_<wbr>SIZE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MUTABLE_<wbr>COMMAND_<wbr>COMMAND_<wbr>TYPE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>flags_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>properties_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>BUFFER_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>ASSERTS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>buffer_<wbr>structure_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>BASE_<wbr>CONFIG_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CONFIG_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>MUTABLE_<wbr>COMMAND_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample_code"><a class="anchor" href="#_sample_code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_sample_application_updating_the_arguments_to_a_mutable_dispatch_between_command_buffer_submissions"><a class="anchor" href="#_sample_application_updating_the_arguments_to_a_mutable_dispatch_between_command_buffer_submissions"></a>Sample Application Updating the Arguments to a Mutable-dispatch Between Command-buffer Submissions</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">#define CL_CHECK(ERROR) \ + if (ERROR) { \ + std::cerr << "OpenCL error: " << ERROR << "\n"; \ + return ERROR; \ + } + +int main() { + cl_platform_id platform; + CL_CHECK(clGetPlatformIDs(1, &platform, nullptr)); + cl_device_id device; + CL_CHECK(clGetDeviceIDs(platform, CL_DEVICE_TYPE_ALL, 1, &device, nullptr)); + + cl_mutable_dispatch_fields_khr mutable_capabilities; + CL_CHECK(clGetDeviceInfo(device, CL_DEVICE_MUTABLE_DISPATCH_CAPABILITIES_KHR, + sizeof(mutable_capabilities), &mutable_capabilities, + nullptr)); + if (!(mutable_capabilities & CL_MUTABLE_DISPATCH_ARGUMENTS_KHR)) { + std::cerr + << "Device does not support update arguments to a mutable-dispatch, " + "skipping example.\n"; + return 0; + } + + cl_int error; + cl_context context = + clCreateContext(nullptr, 1, &device, nullptr, nullptr, &error); + CL_CHECK(error); + + const char* code = R"OpenCLC( +kernel void vector_addition(global int* tile1, global int* tile2, + global int* res) { + size_t index = get_global_id(0); + res[index] = tile1[index] + tile2[index]; +} +)OpenCLC"; + const size_t length = std::strlen(code); + + cl_program program = + clCreateProgramWithSource(context, 1, &code, &length, &error); + CL_CHECK(error); + + CL_CHECK(clBuildProgram(program, 1, &device, nullptr, nullptr, nullptr)); + + cl_kernel kernel = clCreateKernel(program, "vector_addition", &error); + CL_CHECK(error); + + // Set the parameters of the frames + constexpr size_t iterations = 60; + constexpr size_t elem_size = sizeof(cl_int); + constexpr size_t frame_width = 32; + constexpr size_t frame_count = frame_width * frame_width; + constexpr size_t frame_size = frame_count * elem_size; + + cl_mem input_A_buffers[2] = {nullptr, nullptr}; + cl_mem input_B_buffers[2] = {nullptr, nullptr}; + cl_mem output_buffers[2] = {nullptr, nullptr}; + + // Create the buffer to swap between even and odd kernel iterations + for (size_t i = 0; i < 2; i++) { + input_A_buffers[i] = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + + input_B_buffers[i] = + clCreateBuffer(context, CL_MEM_READ_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + + output_buffers[i] = + clCreateBuffer(context, CL_MEM_WRITE_ONLY, frame_size, nullptr, &error); + CL_CHECK(error); + } + + cl_command_queue command_queue = + clCreateCommandQueue(context, device, 0, &error); + CL_CHECK(error); + + // Create command-buffer with mutable flag so we can update it + cl_command_buffer_properties_khr properties[3] = { + CL_COMMAND_BUFFER_FLAGS_KHR, CL_COMMAND_BUFFER_MUTABLE_KHR, 0}; + cl_command_buffer_khr command_buffer = + clCreateCommandBufferKHR(1, &command_queue, properties, &error); + CL_CHECK(error); + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &input_A_buffers[0])); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &input_B_buffers[0])); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &output_buffers[0])); + + // Instruct the nd-range command to allow for mutable kernel arguments + cl_ndrange_kernel_command_properties_khr mutable_properties[] = { + CL_MUTABLE_DISPATCH_UPDATABLE_FIELDS_KHR, + CL_MUTABLE_DISPATCH_ARGUMENTS_KHR, 0}; + + // Create command handle for mutating nd-range command + cl_mutable_command_khr command_handle = nullptr; + + // Add the nd-range kernel command + error = clCommandNDRangeKernelKHR( + command_buffer, command_queue, mutable_properties, kernel, 1, nullptr, + &frame_count, nullptr, 0, nullptr, nullptr, &command_handle); + CL_CHECK(error); + + CL_CHECK(clFinalizeCommandBufferKHR(command_buffer)); + + // Prepare for random input generation + std::random_device random_device; + std::mt19937 random_engine{random_device()}; + std::uniform_int_distribution<cl_int> random_distribution{ + std::numeric_limits<cl_int>::min() / 2, + std::numeric_limits<cl_int>::max() / 2}; + + // Iterate over each frame + for (size_t i = 0; i < iterations; i++) { + // Set the buffers for the current frame + cl_mem input_A_buffer = input_A_buffers[i % 2]; + cl_mem input_B_buffer = input_B_buffers[i % 2]; + cl_mem output_buffer = output_buffers[i % 2]; + + // Generate input A data + std::vector<cl_int> input_a(frame_count); + std::generate(std::begin(input_a), std::end(input_a), + [&]() { return random_distribution(random_engine); }); + + // Write the generated data to the input A buffer + error = + clEnqueueWriteBuffer(command_queue, input_A_buffer, CL_FALSE, 0, + frame_size, input_a.data(), 0, nullptr, nullptr); + CL_CHECK(error); + + // Generate input B data + std::vector<cl_int> input_b(frame_count); + std::generate(std::begin(input_b), std::end(input_b), + [&]() { return random_distribution(random_engine); }); + + // Write the generated data to the input B buffer + error = + clEnqueueWriteBuffer(command_queue, input_B_buffer, CL_FALSE, 0, + frame_size, input_b.data(), 0, nullptr, nullptr); + CL_CHECK(error); + + // If not executing the first frame + if (i != 0) { + // Configure the mutable configuration to update the kernel arguments + cl_mutable_dispatch_arg_khr arg_0{0, sizeof(cl_mem), &input_A_buffer}; + cl_mutable_dispatch_arg_khr arg_1{1, sizeof(cl_mem), &input_B_buffer}; + cl_mutable_dispatch_arg_khr arg_2{2, sizeof(cl_mem), &output_buffer}; + cl_mutable_dispatch_arg_khr args[] = {arg_0, arg_1, arg_2}; + cl_mutable_dispatch_config_khr dispatch_config{ + CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR, + nullptr, + command_handle, + 3 /* num_args */, + 0 /* num_svm_arg */, + 0 /* num_exec_infos */, + 0 /* work_dim - 0 means no change to dimensions */, + args /* arg_list */, + nullptr /* arg_svm_list - nullptr means no change*/, + nullptr /* exec_info_list */, + nullptr /* global_work_offset */, + nullptr /* global_work_size */, + nullptr /* local_work_size */}; + cl_mutable_base_config_khr mutable_config{ + CL_STRUCTURE_TYPE_MUTABLE_BASE_CONFIG_KHR, nullptr, 1, + &dispatch_config}; + + // Update the command buffer with the mutable configuration + error = clUpdateMutableCommandsKHR(command_buffer, &mutable_config); + CL_CHECK(error); + } + + // Enqueue the command buffer + error = clEnqueueCommandBufferKHR(0, nullptr, command_buffer, 0, nullptr, + nullptr); + CL_CHECK(error); + + // Allocate memory for the output data + std::vector<cl_int> output(frame_count); + + // Read the output data from the output buffer + error = clEnqueueReadBuffer(command_queue, output_buffer, CL_TRUE, 0, + frame_size, output.data(), 0, nullptr, nullptr); + CL_CHECK(error); + + // Flush and execute the read buffer + error = clFinish(command_queue); + CL_CHECK(error); + + // Verify the results of the frame + for (size_t i = 0; i < frame_count; ++i) { + const cl_int result = input_a[i] + input_b[i]; + if (output[i] != result) { + std::cerr << "Error: Incorrect result at index " << i << " - Expected " + << output[i] << " was " << result << std::endl; + std::exit(1); + } + } + } + + std::cout << "Result verified\n"; + + CL_CHECK(clReleaseCommandBufferKHR(command_buffer)); + for (size_t i = 0; i < 2; i++) { + CL_CHECK(clReleaseMemObject(input_A_buffers[i])); + CL_CHECK(clReleaseMemObject(input_B_buffers[i])); + CL_CHECK(clReleaseMemObject(output_buffers[i])); + } + CL_CHECK(clReleaseCommandQueue(command_queue)); + CL_CHECK(clReleaseKernel(kernel)); + CL_CHECK(clReleaseProgram(program)); + CL_CHECK(clReleaseContext(context)); + CL_CHECK(clReleaseDevice(device)); + return 0; +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Include simpler, more user friendly, entry-points for updating kernel +arguments?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Can be implemented in the ecosystem as a layer on top, if that +layer proves popular then can be introduced, possibly as another extension +on top.</p> +</div> +</div> +</div> +</li> +<li> +<p>Add a command-buffer clone entry-point for deep copying a command-buffer? +Arguments could then be updated and both command-buffers used. +Useful for techniques like double buffering.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: In the use-case we’re targeting a user would only have a handle +to the original command-buffer, but not the clone, which may limit the +usefulness of this capability. +Additionally, an implementation could be complicated by non-trivial deep +copying of the underlying objects contained in the command-buffer. +As a result of this new entry-point being an additive change to the +specification it is omitted, and if its functionality has demand later, it +may be a introduced as a stand alone extension.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2022-08-31</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-11-07</p> +<div class="ulist"> +<ul> +<li> +<p>Add type <code>cl_mutable_<wbr>dispatch_<wbr>asserts_<wbr>khr</code> and its possible values +(provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_mutable_dispatch" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_create_command_queue.html b/sdk/3.0/docs/man/html/cl_khr_create_command_queue.html new file mode 100644 index 0000000..0762832 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_create_command_queue.html
@@ -0,0 +1,930 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_create_command_queue(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_create_command_queue(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_create_command_queue - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>create_<wbr>command_<wbr>queue</code> allows OpenCL 1.x devices to support an +equivalent of the <strong>clCreateCommandQueueWithProperties</strong> API that was added in +OpenCL 2.0. +This allows OpenCL 1.x devices to support other optional extensions or +features that use the <strong>clCreateCommandQueueWithProperties</strong> API to specify +additional command-queue properties that cannot be specified using the +OpenCL 1.x <strong>clCreateCommandQueue</strong> API.</p> +</div> +<div class="paragraph"> +<p>No new command-queue properties are required by this extension. +Applications may use the existing <code>CL_DEVICE_<wbr>QUEUE_<wbr>PROPERTIES</code> query to +determine command-queue properties that are supported by the device.</p> +</div> +<div class="paragraph"> +<p>Newer OpenCL devices may support this extension for compatibility. +In this scenario, the function added by this extension will have the same +capabilities as the core <strong>clCreateCommandQueueWithProperties</strong> API. +Applications that only target newer OpenCL devices should use the core +<strong>clCreateCommandQueueWithProperties</strong> API instead of this extension API.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateCommandQueueWithPropertiesKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_queue_<wbr>properties_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_create_command_queue" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_d3d10_sharing.html b/sdk/3.0/docs/man/html/cl_khr_d3d10_sharing.html index 830913a..142c538 100644 --- a/sdk/3.0/docs/man/html/cl_khr_d3d10_sharing.html +++ b/sdk/3.0/docs/man/html/cl_khr_d3d10_sharing.html
@@ -767,99 +767,326 @@ <h1>cl_khr_d3d10_sharing(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_d3d10_sharing - Provide interoperability between OpenCL and Direct3D 10.</p> +<p>cl_khr_d3d10_sharing - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_d3d10_sharing : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>If the <code>cl_khr_d3d10_sharing</code> extension is supported, then the following functions are enabled:</p> +<p><code>cl_khr_<wbr>d3d10_<wbr>sharing</code> provides interoperability between OpenCL and Direct3D 10.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clGetDeviceIDsFromD3D10KHR</strong></p> +</li> +<li> +<p><strong>clCreateFromD3D10BufferKHR</strong></p> +</li> +<li> +<p><strong>clCreateFromD3D10Texture2DKHR</strong></p> +</li> +<li> +<p><strong>clCreateFromD3D10Texture3DKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueAcquireD3D10ObjectsKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueReleaseD3D10ObjectsKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_d3d10_<wbr>device_<wbr>source_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_d3d10_<wbr>device_<wbr>set_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_d3d10_<wbr>device_<wbr>source_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_D3D10_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D10_<wbr>DXGI_<wbr>ADAPTER_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_d3d10_<wbr>device_<wbr>set_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>D3D10_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>D3D10_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>D3D10_<wbr>PREFER_<wbr>SHARED_<wbr>RESOURCES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mem_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MEM_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_image_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_IMAGE_<wbr>D3D10_<wbr>SUBRESOURCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>D3D10_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>RELEASE_<wbr>D3D10_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INVALID_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D10_<wbr>RESOURCE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D10_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Should this extension be KHR or EXT?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>PROPOSED</strong>: KHR. +If this extension is to be approved by Khronos then it should be KHR, +otherwise EXT. +Not all platforms can support this extension, but that is also true of +OpenGL interop.</p> +</div> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: KHR.</p> +</div> +</div> +</div> +</li> +<li> +<p>Requiring SharedHandle on ID3D10Resource</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>Requiring this can largely simplify things at the DDI level and make some +implementations faster. +However, the DirectX spec only defines the shared handle for a subset of the +resources we would like to support:</p> </div> <div class="ulist"> <ul> <li> -<p><a href="clGetDeviceIDsFromD3D10KHR.html">clGetDeviceIDsFromD3D10KHR</a></p> -</li> -<li> -<p><a href="clCreateFromD3D10BufferKHR.html">clCreateFromD3D10BufferKHR</a></p> -</li> -<li> -<p><a href="clCreateFromD3D10Texture2DKHR.html">clCreateFromD3D10Texture2DKHR</a></p> -</li> -<li> -<p><a href="clCreateFromD3D10Texture3DKHR.html">clCreateFromD3D10Texture3DKHR</a></p> -</li> -<li> -<p><a href="clEnqueueAcquireD3D10ObjectsKHR.html">clEnqueueAcquireD3D10ObjectsKHR</a></p> -</li> -<li> -<p><a href="clEnqueueReleaseD3D10ObjectsKHR.html">clEnqueueReleaseD3D10ObjectsKHR</a></p> +<p><code>D3D10_RESOURCE_MISC_SHARED</code> - Enables the sharing of resource data +between two or more Direct3D devices. +The only resources that can be shared are 2D non-mipmapped textures.</p> </li> </ul> </div> <div class="paragraph"> -<p>General information about sharing memory objects with Direct3D 10 follows.</p> +<p><strong>PROPOSED</strong>: A: Add wording to the spec about some implementations needing +the resource setup as shared:</p> </div> <div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and -Direct3D 10. This is designed to function analogously to the -<a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. If this -extension is supported by an implementation, the string -"cl_khr_d3d10_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> +<p>Some implementations may require the resource to be shared on the D3D10 side +of the API.</p> </div> <div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_d3d10.h</code>.</p> +<p>If we do that, do we need another enum to describe this failure case?</p> </div> <div class="paragraph"> -<p>The OpenCL functions enabled by the <a href="cl_khr_d3d10_sharing.html">cl_khr_d3d10_sharing</a> extension -allow applications to use Direct3D 10 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 10. The -OpenCL API may be used to execute kernels that read and/or write memory -objects that are also Direct3D 10 resources. An OpenCL image object may be -created from a Direct3D 10 texture resource. An OpenCL buffer object may be -created from a Direct3D 10 buffer resource. OpenCL memory objects may be -created from Direct3D 10 objects if and only if the OpenCL context has been -created from a Direct3D 10 device.</p> +<p><strong>PROPOSED</strong>: B: Require that all implementations support both shared and +non-shared resources. +The restrictions prohibiting multisample textures and the flag +D3D10_USAGE_IMMUTABLE guarantee software access to all shareable resources.</p> </div> <div class="paragraph"> -<div class="title">Lifetime of Shared [D3D10] Objects</div> -<p>An OpenCL memory object created from a Direct3D 10 resource remains valid as -long as the corresponding Direct3D 10 resource has not been deleted. If the -Direct3D 10 resource is deleted through the Direct3D 10 API, subsequent use -of the OpenCL memory object will result in undefined behavior, including but -not limited to possible OpenCL errors, data corruption, and program -termination.</p> +<p><strong>RESOLVED</strong>: Require that implementations support both +D3D10_RESOURCE_MISC_SHARED being set and not set. +Add the query for <code>CL_CONTEXT_<wbr>D3D10_<wbr>PREFER_<wbr>SHARED_<wbr>RESOURCES_<wbr>KHR</code> to +determine on a per-context basis which method will be faster.</p> +</div> +</div> +</div> +</li> +<li> +<p>Texture1D support</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>There is not a matching CL type, so do we want to support this and map to +buffer or Texture2D?</p> </div> <div class="paragraph"> -<p>The successful creation of a <code>cl_context</code> against a Direct3D 10 device -specified via the context create parameter <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> -will increment the internal Direct3D reference count on the specified -Direct3D 10 device. The internal Direct3D reference count on that Direct3D -10 device will be decremented when the OpenCL reference count on the -returned OpenCL context drops to zero.</p> +<p><strong>RESOLVED</strong>: We will not add support for ID3D10Texture1D objects unless a +corresponding OpenCL 1D Image type is created.</p> +</div> +</div> +</div> +</li> +<li> +<p>CL/D3D10 queries</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>The GL interop has <strong>clGetGLObjectInfo</strong> and <strong>clGetGLTextureInfo</strong>. +It is unclear if these are needed on the D3D10 interop side since the D3D10 +spec makes these queries trivial on the D3D10 object itself. +Also, not all of the semantics of the GL call map across.</p> </div> <div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the -existence of the Direct3D 10 device from which the OpenCL context was -created. If the Direct3D 10 device is deleted through the Direct3D 10 API, -subsequent use of the OpenCL context will result in undefined behavior, -including but not limited to possible OpenCL errors, data corruption, and -program termination.</p> +<p><strong>PROPOSED</strong>: Add the <strong>clGetMemObjectInfo</strong> and <strong>clGetImageInfo</strong> parameter +names <code>CL_MEM_<wbr>D3D10_<wbr>RESOURCE_<wbr>KHR</code> and <code>CL_IMAGE_<wbr>D3D10_<wbr>SUBRESOURCE_<wbr>KHR</code> to +query the D3D10 resource from which a <code>cl_mem</code> was created. +From this data, any D3D10 side information may be queried using the D3D10 +API.</p> +</div> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: We will use <strong>clGetMemObjectInfo</strong> and <strong>clGetImageInfo</strong> to access +this information.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -867,9 +1094,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>, -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -877,10 +1102,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d10_sharing" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d10_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d10_sharing</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -888,7 +1114,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -898,8 +1124,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_d3d11_sharing.html b/sdk/3.0/docs/man/html/cl_khr_d3d11_sharing.html index 3dd9fa9..c29be49 100644 --- a/sdk/3.0/docs/man/html/cl_khr_d3d11_sharing.html +++ b/sdk/3.0/docs/man/html/cl_khr_d3d11_sharing.html
@@ -767,77 +767,216 @@ <h1>cl_khr_d3d11_sharing(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_d3d11_sharing - Provide interoperability between OpenCL and Direct3D 11.</p> +<p>cl_khr_d3d11_sharing - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_d3d11_sharing : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The goal of this extension is to provide interoperability between OpenCL and Direct3D 11. -This is designed to function analogously to the <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> as defined in sections 9.7 and 9.8. -If this extension is supported by an implementation, the string "cl_khr_d3d11_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> or <code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for <em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> +<p><code>cl_khr_<wbr>d3d11_<wbr>sharing</code> provides interoperability between OpenCL and Direct3D 11.</p> </div> -<div class="paragraph"> -<p>As currently proposed, the interfaces for this extension are provided in the header file <code>cl_d3d11.h</code>.</p> </div> -<div class="paragraph"> -<p>If the <code>cl_khr_d3d11_sharing</code> extension is supported, then the following functions are enabled:</p> </div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clGetDeviceIDsFromD3D11KHR.html">clGetDeviceIDsFromD3D11KHR</a></p> +<p><strong>clGetDeviceIDsFromD3D11KHR</strong></p> </li> <li> -<p><a href="clCreateFromD3D11BufferKHR.html">clCreateFromD3D11BufferKHR</a></p> +<p><strong>clCreateFromD3D11BufferKHR</strong></p> </li> <li> -<p><a href="clCreateFromD3D11Texture2DKHR.html">clCreateFromD3D11Texture2DKHR</a></p> +<p><strong>clCreateFromD3D11Texture2DKHR</strong></p> </li> <li> -<p><a href="clCreateFromD3D11Texture3DKHR.html">clCreateFromD3D11Texture3DKHR</a></p> +<p><strong>clCreateFromD3D11Texture3DKHR</strong></p> </li> <li> -<p><a href="clEnqueueAcquireD3D11ObjectsKHR.html">clEnqueueAcquireD3D11ObjectsKHR</a></p> +<p><strong>clEnqueueAcquireD3D11ObjectsKHR</strong></p> </li> <li> -<p><a href="clEnqueueReleaseD3D11ObjectsKHR.html">clEnqueueReleaseD3D11ObjectsKHR</a></p> +<p><strong>clEnqueueReleaseD3D11ObjectsKHR</strong></p> </li> </ul> </div> -<div class="paragraph"> -<p>The OpenCL functions enabled by the <code>cl_khr_d3d11_sharing</code> extension allow applications to use Direct3D 11 resources as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and Direct3D 11. -The OpenCL API may be used to execute kernels that read and/or write memory objects that are also Direct3D 11 resources. -An OpenCL image object may be created from a Direct3D 11 texture resource. -An OpenCL buffer object may be created from a Direct3D 11 buffer resource. -OpenCL memory objects may be created from Direct3D 11 objects if and only if the OpenCL context has been created from a Direct3D 11 device.</p> </div> -<div class="paragraph"> -<div class="title">Lifetime of Shared [D3D11] Objects</div> -<p>An OpenCL memory object created from a Direct3D 11 resource remains valid as long as the corresponding Direct3D 11 resource has not been deleted. -If the Direct3D 11 resource is deleted through the Direct3D 11 API, subsequent use of the OpenCL memory object will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> </div> -<div class="paragraph"> -<p>The successful creation of a cl_context against a Direct3D 11 device specified via the context create parameter <code>CL_CONTEXT_D3D11_DEVICE_KHR</code> will increment the internal Direct3D reference count on the specified Direct3D 11 device. -The internal Direct3D reference count on that Direct3D 11 device will be decremented when the OpenCL reference count on the returned OpenCL context drops to zero.</p> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_d3d11_<wbr>device_<wbr>source_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_d3d11_<wbr>device_<wbr>set_<wbr>khr</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>The OpenCL context and corresponding command-queues are dependent on the existence of the Direct3D 11 device from which the OpenCL context was created. -If the Direct3D 11 device is deleted through the Direct3D 11 API, subsequent use of the OpenCL context will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination.</p> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_d3d11_<wbr>device_<wbr>source_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_D3D11_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D11_<wbr>DXGI_<wbr>ADAPTER_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_d3d11_<wbr>device_<wbr>set_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>D3D11_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>D3D11_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>D3D11_<wbr>PREFER_<wbr>SHARED_<wbr>RESOURCES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mem_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MEM_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_image_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_IMAGE_<wbr>D3D11_<wbr>SUBRESOURCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>D3D11_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>RELEASE_<wbr>D3D11_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INVALID_<wbr>D3D11_<wbr>RESOURCE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D11_<wbr>RESOURCE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_D3D11_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -845,13 +984,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clGetDeviceIDsFromD3D11KHR.html">clGetDeviceIDsFromD3D11KHR</a>, -<a href="clCreateFromD3D11BufferKHR.html">clCreateFromD3D11BufferKHR</a>, -<a href="clCreateFromD3D11Texture2DKHR.html">clCreateFromD3D11Texture2DKHR</a>, -<a href="clCreateFromD3D11Texture3DKHR.html">clCreateFromD3D11Texture3DKHR</a>, -<a href="clEnqueueAcquireD3D10ObjectsKHR.html">clEnqueueAcquireD3D10ObjectsKHR</a>, -<a href="clEnqueueReleaseD3D11ObjectsKHR.html">clEnqueueReleaseD3D11ObjectsKHR</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -859,10 +992,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d11_sharing" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d11_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d11_sharing</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -870,7 +1004,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -880,8 +1014,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_depth_images.html b/sdk/3.0/docs/man/html/cl_khr_depth_images.html index baf5dc4..cd92166 100644 --- a/sdk/3.0/docs/man/html/cl_khr_depth_images.html +++ b/sdk/3.0/docs/man/html/cl_khr_depth_images.html
@@ -767,25 +767,92 @@ <h1>cl_khr_depth_images(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_depth_images - deprecated extension</p> +<p>cl_khr_depth_images - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_depth_images : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to OpenCL 2.0 core.</p> +<p><code>cl_khr_<wbr>depth_<wbr>images</code> adds OpenCL C support for depth images.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_depth_images">Depth Images</a> section of +the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> </div> </div> </div> @@ -793,10 +860,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL API Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_depth_images" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#changes_to_opencl" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#changes_to_opencl</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -804,7 +872,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -814,8 +882,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_device_enqueue_local_arg_types.html b/sdk/3.0/docs/man/html/cl_khr_device_enqueue_local_arg_types.html index 7d01cab..17fe0a5 100644 --- a/sdk/3.0/docs/man/html/cl_khr_device_enqueue_local_arg_types.html +++ b/sdk/3.0/docs/man/html/cl_khr_device_enqueue_local_arg_types.html
@@ -767,28 +767,75 @@ <h1>cl_khr_device_enqueue_local_arg_types(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_device_enqueue_local_arg_types - Allows arguments to blocks passed to enqueue_kernel functions to be declared as a pointer to any type in local memory.</p> +<p>cl_khr_device_enqueue_local_arg_types - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_device_enqueue_local_arg_types : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension allows arguments to blocks passed to enqueue_kernel functions to be declared as a pointer to any type (built-in or user-defined) in local memory instead of just <code>local void *</code>.</p> +<p><code>cl_khr_<wbr>device_<wbr>enqueue_<wbr>local_<wbr>arg_<wbr>types</code> allows arguments to blocks that are +passed to the <strong>enqueue_kernel</strong> built-in OpenCL C function to be pointers to +any type (built-in or user-defined) in local memory, instead of requiring +arguments to blocks to be pointers to void in local memory.</p> </div> <div class="paragraph"> -<p>If this extension is supported by an implementation, the string cl_khr_device_enqueue_local_arg_types will be present in the <code>CL_DEVICE_EXTENSIONS</code> string described in table 4.3 (see <a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> +<p>See the <a href="OpenCL_C.html#cl_khr_device_enqueue_local_arg_types">Device +Enqueue Local Argument Types</a> section of the OpenCL C specification for more +information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -796,9 +843,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clGetDeviceInfo.html">clGetDeviceInfo</a>, -<a href="enqueue_kernel.html">enqueue_kernel</a>, -<a href="get_kernel_work_group_size.html">get_kernel_work_group_size</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -806,10 +851,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_enqueue_local_arg_types" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_enqueue_local_arg_types" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_enqueue_local_arg_types</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -817,7 +863,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -827,8 +873,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_device_uuid.html b/sdk/3.0/docs/man/html/cl_khr_device_uuid.html new file mode 100644 index 0000000..fc1ea18 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_device_uuid.html
@@ -0,0 +1,926 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_device_uuid(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_device_uuid(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_device_uuid - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-08-27</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>device_<wbr>uuid</code> adds the ability to query a universally unique +identifier (UUID) for an OpenCL driver and OpenCL device. +The UUIDs returned by the query may be used to identify drivers and devices +across processes or APIs.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Accepted value for the <em>param_name</em> parameter to <strong>clGetDeviceInfo</strong>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>UUID_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DRIVER_<wbr>UUID_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>LUID_<wbr>VALID_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>LUID_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>NODE_<wbr>MASK_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>Constants describing the size of the driver and device UUIDs, and the +device LUID:</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_UUID_<wbr>SIZE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_LUID_<wbr>SIZE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-08-27</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_uuid" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_dx9_media_sharing.html b/sdk/3.0/docs/man/html/cl_khr_dx9_media_sharing.html index 76ee5ec..a4a3293 100644 --- a/sdk/3.0/docs/man/html/cl_khr_dx9_media_sharing.html +++ b/sdk/3.0/docs/man/html/cl_khr_dx9_media_sharing.html
@@ -767,291 +767,221 @@ <h1>cl_khr_dx9_media_sharing(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_dx9_media_sharing - Provide sharing of data between OpenCL and DX9.</p> +<p>cl_khr_dx9_media_sharing - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_dx9_media_sharing : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>If the <code>cl_khr_dx9_media_sharing</code> extension is supported, then the following functions are enabled:</p> +<p><code>cl_khr_<wbr>dx9_<wbr>media_<wbr>sharing</code> allows applications to use media surfaces as +OpenCL memory objects. +This allows efficient sharing of data between OpenCL and selected adapter +APIs (only DX9 for now). +If this extension is supported, an OpenCL image object can be created from a +media surface and the OpenCL API can be used to execute kernels that read +and/or write memory objects that are media surfaces. +Note that OpenCL memory objects may be created from the adapter media +surface if and only if the OpenCL context has been created from that +adapter.</p> </div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clGetDeviceIDsFromDX9MediaAdapterKHR.html">clGetDeviceIDsFromDX9MediaAdapterKHR</a></p> +<p><strong>clGetDeviceIDsFromDX9MediaAdapterKHR</strong></p> </li> <li> -<p><a href="clCreateFromDX9MediaSurfaceKHR.html">clCreateFromDX9MediaSurfaceKHR</a></p> +<p><strong>clCreateFromDX9MediaSurfaceKHR</strong></p> </li> <li> -<p><a href="clEnqueueAcquireDX9MediaSurfacesKHR.html">clEnqueueAcquireDX9MediaSurfacesKHR</a></p> +<p><strong>clEnqueueAcquireDX9MediaSurfacesKHR</strong></p> </li> <li> -<p><a href="clEnqueueReleaseDX9MediaSurfacesKHR.html">clEnqueueReleaseDX9MediaSurfacesKHR</a></p> +<p><strong>clEnqueueReleaseDX9MediaSurfacesKHR</strong></p> </li> </ul> </div> -<div class="paragraph"> -<p>General information about sharing memory objects with DX9 follows.</p> </div> -<div class="paragraph"> -<p>The goal of this extension is to allow applications to use media surfaces as -OpenCL memory objects. This allows efficient sharing of data between OpenCL -and selected adapter APIs (only DX9 for now). If this extension is -supported, an OpenCL image object can be created from a media surface and -the OpenCL API can be used to execute kernels that read and/or write memory -objects that are media surfaces. Note that OpenCL memory objects may be -created from the adapter media surface if and only if the OpenCL context has -been created from that adapter.</p> </div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string -"cl_khr_dx9_media_sharing" will be present in the <code>CL_PLATFORM_EXTENSIONS</code> -(see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>type_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>set_<wbr>khr</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>As currently proposed the interfaces for this extension would be provided in -<code>cl_dx9_media_sharing.h</code>.</p> </div> -<div class="paragraph"> -<div class="title">Surface formats for Media Surface Sharing</div> -<p>This section includes the D3D surface formats that are supported when the -adapter type is one of the Direct 3D lineage. Using a D3D surface format not -listed here is an error. To extend the use of this extension to support -media adapters beyond DirectX9 tables similar to the ones in this section -will need to be defined for the surface formats supported by the new media -adapter. All implementations that support this extension are required to -support the NV12 surface format, the other surface formats supported are the -same surface formats that the adapter you are sharing with supports as long -as they are listed in the tables below (Tables 9.10.3 and 9.10.4).</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">FOUR CC code</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('N', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 0</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 1</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>FOURCC('Y', 'V', '1', '2'), Plane 2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>In the table above, NV12 Plane 0 corresponds to the luminance (Y) channel -and Plane 1 corresponds to the UV channels. The YV12 Plane 0 corresponds to -the Y channel, Plane 1 to the U channel and Plane 2 to the V channel. Note -that the YUV formats map to <code>CL_R</code> and <code>CL_RG</code> but do not perform any YUV to -RGB conversion and vice-versa.</p> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_ADAPTER_<wbr>D3D9_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_ADAPTER_<wbr>D3D9EX_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_ADAPTER_<wbr>DXVA_<wbr>KHR</code></p> +</li> +</ul> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">D3D format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_A, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_R, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8L8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RG, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A32B32G32R32F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16F</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_HALF_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A16B16G16R16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8B8G8R8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_RGBA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_A8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>D3DFMT_X8R8G8B8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_BGRA, CL_UNORM_INT8</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Note that D3D9 format names seem to imply that the order of the color -channels are switched relative to OpenCL but this is not the case. For -example, layout of channels for each pixel for <code>D3DFMT_A32FB32FG32FR32F</code> is -the same as <code>CL_RGBA</code>, <code>CL_FLOAT</code>.</p> +</li> +<li> +<p><code>cl_dx9_<wbr>media_<wbr>adapter_<wbr>set_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PREFERRED_<wbr>DEVICES_<wbr>FOR_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_ALL_<wbr>DEVICES_<wbr>FOR_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>Properties of media surface objects may be queried using -<a href="clGetMemObjectInfo.html">clGetMemObjectInfo</a> and <a href="clGetImageInfo.html">clGetImageInfo</a> with <em>param_name</em> -<code>CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR</code>, <code>CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR</code> and -<code>CL_IMAGE_DX9_MEDIA_SURFACE_PLANE_KHR</code>.</p> +</li> +<li> +<p><code>cl_context_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>D3D9EX_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_CONTEXT_<wbr>ADAPTER_<wbr>DXVA_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mem_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MEM_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>TYPE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MEM_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>INFO_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_image_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_IMAGE_<wbr>DX9_<wbr>MEDIA_<wbr>PLANE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>RELEASE_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>ADAPTER_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INVALID_<wbr>DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>ALREADY_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DX9_<wbr>MEDIA_<wbr>SURFACE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -1059,9 +989,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>, -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -1069,10 +997,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_dx9_media_sharing" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_dx9_media_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_dx9_media_sharing</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -1080,7 +1009,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1090,8 +1019,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_egl_event.html b/sdk/3.0/docs/man/html/cl_khr_egl_event.html index 6463668..44b126d 100644 --- a/sdk/3.0/docs/man/html/cl_khr_egl_event.html +++ b/sdk/3.0/docs/man/html/cl_khr_egl_event.html
@@ -767,57 +767,160 @@ <h1>cl_khr_egl_event(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_egl_event - Create CL event objects linked to EGL fence sync objects.</p> +<p>cl_khr_egl_event - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_egl_event : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension allows creating OpenCL event objects linked to EGL fence sync objects, potentially improving efficiency of sharing images and buffers between the two APIs. -The companion EGL_KHR_cl_event extension provides the complementary functionality of creating an EGL sync object from an OpenCL event object.</p> +<p><code>cl_khr_<wbr>egl_<wbr>event</code> allows creating OpenCL event objects linked to EGL fence +sync objects, potentially improving efficiency of sharing images and buffers +between the two APIs. +The companion <code>EGL_KHR_cl_event</code> extension provides the complementary +functionality of creating an EGL sync object from an OpenCL event object.</p> </div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string <code>cl_khr_egl_event</code> will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in table 4.1 (see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> string described in table 4.3 (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> </div> -<div class="paragraph"> -<p>If the <code>cl_khr_egl_event</code> extension is supported, then the following function is enabled:</p> </div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clCreateEventFromEGLSyncKHR.html">clCreateEventFromEGLSyncKHR</a></p> +<p><strong>clCreateEventFromEGLSyncKHR</strong></p> </li> </ul> </div> -<div class="paragraph"> -<p>The <code>cl_khr_egl_event</code> extension enables changes to the following:</p> </div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clGetEventInfo.html">clGetEventInfo</a></p> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>EGL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Most issues are shared with <code>cl_khr_<wbr>gl_<wbr>event</code> and are resolved as +described in that extension.</p> +</div> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Should we support implicit synchronization?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: No, as this may be very difficult since the synchronization +would not be with EGL, it would be with currently bound EGL client APIs. +It would be necessary to know which client APIs might be bound, to validate +that they’re associated with the <code>EGLDisplay</code> associated with the OpenCL +context, and to reach into each such context.</p> +</div> +</div> +</div> </li> <li> -<p><a href="clWaitForEvents.html">clWaitForEvents</a></p> +<p>Do we need to have typedefs to use EGL handles in OpenCL?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong> Using typedefs for EGL handles.</p> +</div> +</div> +</div> </li> <li> -<p><a href="clGetEventInfo.html">clGetEventInfo</a></p> +<p>Should we restrict which CL APIs can be used with this cl_event?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong> Use is limited to calls to acquire and release memory objects only.</p> +</div> +</div> +</div> </li> <li> -<p><a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a></p> +<p>What is the desired behavior for this extension when EGLSyncKHR is of a +type other than <code>EGL_SYNC_FENCE_KHR</code>?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong> This extension only requires support for <code>EGL_SYNC_FENCE_KHR</code>. +Support of other types is an implementation choice, and will result in +<code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code> if unsupported.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> </li> </ul> </div> @@ -827,8 +930,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="cl_khr_egl_image.html">cl_khr_egl_image</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -836,10 +938,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_event" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -847,7 +950,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -857,8 +960,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_egl_image.html b/sdk/3.0/docs/man/html/cl_khr_egl_image.html index 78fbaf6..3a46ec7 100644 --- a/sdk/3.0/docs/man/html/cl_khr_egl_image.html +++ b/sdk/3.0/docs/man/html/cl_khr_egl_image.html
@@ -767,40 +767,226 @@ <h1>cl_khr_egl_image(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_egl_image - Create derived resources, such as OpenCL image objects, from EGLImages.</p> +<p>cl_khr_egl_image - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_egl_image : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>If this extension is supported by an implementation, the string <code>cl_khr_egl_image</code> will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in table 4.1 (see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> string described in table 4.3 (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> +<p><code>cl_khr_<wbr>egl_<wbr>image</code> provides a mechanism to creating OpenCL memory objects +from from EGLImages.</p> </div> -<div class="paragraph"> -<p>If the <code>cl_khr_egl_image</code> extension is supported, then the following functions are enabled:</p> </div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clCreateFromEGLImageKHR.html">clCreateFromEGLImageKHR</a></p> +<p><strong>clCreateFromEGLImageKHR</strong></p> </li> <li> -<p><a href="clEnqueueAcquireEGLObjectsKHR.html">clEnqueueAcquireEGLObjectsKHR</a></p> +<p><strong>clEnqueueAcquireEGLObjectsKHR</strong></p> </li> <li> -<p><a href="clEnqueueReleaseEGLObjectsKHR.html">clEnqueueReleaseEGLObjectsKHR</a></p> +<p><strong>clEnqueueReleaseEGLObjectsKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>EGL_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>RELEASE_<wbr>EGL_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_EGL_<wbr>RESOURCE_<wbr>NOT_<wbr>ACQUIRED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_INVALID_<wbr>EGL_<wbr>OBJECT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>This extension does not support reference counting of the images, so the +onus is on the application to behave sensibly and not release the +underlying <code>cl_mem</code> object while the <code>EGLImage</code> is still being +used.</p> +</li> +<li> +<p>In order to ensure data integrity, the application is responsible for +synchronizing access to shared CL/EGL image objects by their respective +APIs. +Failure to provide such synchronization may result in race conditions +and other undefined behavior. +This may be accomplished by calling <strong>clWaitForEvents</strong> with the event +objects returned by any OpenCL commands which use the shared image +object or by calling <strong>clFinish</strong>.</p> +</li> +<li> +<p>Currently <code>CL_MEM_<wbr>READ_<wbr>ONLY</code> is the only supported flag for <em>flags</em>.</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Implementation will now return an error if writing to a shared +object that is not supported rather than disallowing it entirely.</p> +</div> +</div> +</div> +</li> +<li> +<p>Currently restricted to 2D image objects.</p> +</li> +<li> +<p>What should happen for YUV color-space conversion, multi plane images, +and chroma-siting, and channel mapping?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: YUV is no longer explicitly described in this extension. +Before this removal the behavior was dependent on the platform. +This extension explicitly leaves the YUV layout to the platform and <code>EGLImage</code> +source extension (i.e. is implementation specific). +Colorspace conversion must be applied by the application using a color +conversion matrix.</p> +</div> +<div class="paragraph"> +<p>The expected extension path if YUV color-space conversion is to be supported +is to introduce a YUV image type and provide overloaded versions of the +read_image built-in functions.</p> +</div> +<div class="paragraph"> +<p>Getting image information for a YUV image should return the original image +size (non quantized size) when all of Y U and V are present in the image. +If the planes have been separated then the actual dimensionality of the +separated plane should be reported. +For example with YUV 4:2:0 (NV12) with a YUV image of 256x256, the Y only +image would return 256x256 whereas the UV only image would return 128x128.</p> +</div> +</div> +</div> +</li> +<li> +<p>Should an attribute list be used instead?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: function has been changed to use an attribute list.</p> +</div> +</div> +</div> +</li> +<li> +<p>What should happen for <code>EGLImage</code> extensions which introduce formats +without a mapping to an OpenCL image channel data type or channel order?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: This extension does not define those formats. +It is expected that as additional EGL extensions are added to create EGL +images from other sources, an extension to CL will be introduced where +needed to represent those image types.</p> +</div> +</div> +</div> +</li> +<li> +<p>What are the guarantees to synchronization behavior provided by the +implementation?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>The basic portable form of synchronization is to use a <strong>clFinish</strong>, as is the +case for GL interop. +In addition implementations which support the synchronization extensions +<code>cl_khr_<wbr>egl_<wbr>event</code> and <code>EGL_KHR_cl_event</code> can interoperate more +efficiently as described in those extensions.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> </li> </ul> </div> @@ -810,8 +996,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="cl_khr_egl_event.html">cl_khr_egl_event</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -819,10 +1004,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_image" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -830,7 +1016,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -840,8 +1026,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_expect_assume.html b/sdk/3.0/docs/man/html/cl_khr_expect_assume.html new file mode 100644 index 0000000..bd10899 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_expect_assume.html
@@ -0,0 +1,943 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_expect_assume(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_expect_assume(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_expect_assume - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-11-10</p> +</dd> +<dt class="hdlist1"><strong>Interactions and External Dependencies</strong></dt> +<dd> +<p>The initial version of this extension extends the OpenCL SPIR-V +environment to support new instructions. +Please refer to the OpenCL SPIR-V Environment Specification that +describes how this extension modifies the OpenCL SPIR-V environment.</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>expect_<wbr>assume</code> adds mechanisms to provide information to the +compiler that may improve the performance of some kernels. +Specifically, this extension adds the ability to:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Tell the compiler the <em>expected</em> value of a variable.</p> +</li> +<li> +<p>Allow the compiler to <em>assume</em> a condition is true.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>These functions are not required for functional correctness.</p> +</div> +<div class="paragraph"> +<p>The initial version of this extension extends the OpenCL SPIR-V environment +to support new instructions for offline compilation tool chains. +Similar functionality may be provided by some OpenCL C online compilation +tool chains, but formal support in OpenCL C is not required by the initial +version of the extension.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample_code"><a class="anchor" href="#_sample_code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Although this extension does not formally extend OpenCL C, the ability to +provide <em>expect</em> and <em>assume</em> information is supported by many OpenCL C +compiler tool chains. +The sample code below describes how to test for and provide <em>expect</em> and +<em>assume</em> information to compilers based on Clang:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// __has_builtin is an optional compiler feature that is supported by Clang. +// If this feature is not supported, we will assume the builtin is not present. +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +kernel void test(global int* dst, global int* src) +{ + int value = src[get_global_id(0)]; + + // Tell the compiler that the most likely source value is zero. +#if __has_builtin(__builtin_expect) + value = __builtin_expect(value, 0); +#endif + + // Tell the compiler that the source value is non-negative. + // Behavior is undefined if the source value is actually negative. +#if __has_builtin(__builtin_assume) + __builtin_assume(value >= 0); +#endif + + dst[get_global_id(0)] = value % 4; +}</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2021-11-10</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_expect_assume" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_extended_async_copies.html b/sdk/3.0/docs/man/html/cl_khr_extended_async_copies.html new file mode 100644 index 0000000..7e2bc99 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_extended_async_copies.html
@@ -0,0 +1,910 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_extended_async_copies(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_extended_async_copies(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_extended_async_copies - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-11-10</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>extended_<wbr>async_<wbr>copies</code> augments built-in OpenCL C asynchronous copy +functions to support more patterns:</p> +</div> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>For async copy between 2D source and 2D destination.</p> +</li> +<li> +<p>For async copy between 3D source and 3D destination.</p> +</li> +</ol> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_extended_async_copies">Extended Async +Copy Functions</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2021-09-06</p> +<div class="ulist"> +<ul> +<li> +<p>Elements-based proposal update.</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2021-11-10</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_async_copies" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_extended_bit_ops.html b/sdk/3.0/docs/man/html/cl_khr_extended_bit_ops.html new file mode 100644 index 0000000..cc68056 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_extended_bit_ops.html
@@ -0,0 +1,896 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_extended_bit_ops(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_extended_bit_ops(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_extended_bit_ops - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-04-22</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> adds built-in OpenCL C functions for performing +extended bit operations. +Specifically, the following functions are added:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>bitfield insert: insert bits from one source operand into another source +operand.</p> +</li> +<li> +<p>bitfield extract: extract bits from a source operand, with sign- or +zero-extension.</p> +</li> +<li> +<p>bit reverse: reverse the bits of a source operand.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_extended_bit_ops">Extended Bit +Operations</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2021-04-22</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_bit_ops" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_extended_versioning.html b/sdk/3.0/docs/man/html/cl_khr_extended_versioning.html new file mode 100644 index 0000000..4fd562b --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_extended_versioning.html
@@ -0,0 +1,1173 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_extended_versioning(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_extended_versioning(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_extended_versioning - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 3.0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-02-12</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Kévin Petit, Arm Ltd.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel</p> +</li> +<li> +<p>Alastair Murray, Codeplay Software Ltd.</p> +</li> +<li> +<p>Einar Hov, Arm Ltd.</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_khr_<wbr>extended_<wbr>versioning</code> extension introduces new platform and +device queries that return detailed version information to applications. +It makes it possible to return the exact revision of the specification or +intermediate languages supported by an implementation. +It also enables implementations to communicate a version number for each of +the extensions they support and remove the requirement for applications to +process strings to test for the presence of an extension or intermediate +language or built-in kernel.</p> +</div> +<div class="paragraph"> +<p>Extended versioning was promoted to a core feature in OpenCL 3.0. +However, the query for <code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code> was replaced +by the query for <code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>ALL_<wbr>VERSIONS</code>. +With the exception of this query, all types, structures, enums, and macro +names defined by this extension are equivalent to the corresponding core +name (with the <code>_KHR</code> or <code>_khr</code> suffix removed).</p> +</div> +<div class="paragraph"> +<p>The version number encoding scheme is described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#versioning" target="_blank" rel="noopener">Versioning</a> section.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_version_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_structures"><a class="anchor" href="#_new_structures"></a>New Structures</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_name_<wbr>version_<wbr>khr</code></p> +</li> +<li> +<p><code>CL_NAME_<wbr>VERSION_<wbr>MAX_<wbr>NAME_<wbr>SIZE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_macro_names"><a class="anchor" href="#_new_macro_names"></a>New Macro Names</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>CL_VERSION_<wbr>MAJOR_<wbr>BITS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>MINOR_<wbr>BITS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>PATCH_<wbr>BITS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>MAJOR_<wbr>MASK_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>MINOR_<wbr>MASK_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>PATCH_<wbr>MASK_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>MAJOR_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>MINOR_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_VERSION_<wbr>PATCH_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MAKE_<wbr>VERSION_<wbr>KHR</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>ILS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_PLATFORM_<wbr>EXTENSIONS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_conformance_tests"><a class="anchor" href="#_conformance_tests"></a>Conformance Tests</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Each of the new queries described in this extension must be attempted and +succeed.</p> +</li> +<li> +<p>It must be verified that the information returned by all queries that +extend existing queries is consistent with the information returned by +existing queries.</p> +</li> +<li> +<p>Some of the queries introduced by this extension impose uniqueness constraints +on the list of returned values. +It must be verified that these constraints are satisfied.</p> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>What compatibility policy should we define? e.g. a <em>revision</em> has to be +backwards-compatible with previous ones</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: No general rules as that wouldn’t be testable. +Here’s a recommended policy:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Patch version bump: only clarifications and small/obvious bugfixes.</p> +</li> +<li> +<p>Minor version bump: backwards-compatible changes only.</p> +</li> +<li> +<p>Major version bump: backwards compatibility may break.</p> +</li> +</ul> +</div> +</div> +</div> +</li> +<li> +<p>Do we want versioning for built-in kernels as returned by <code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS</code>?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: No immediate use-case for versioning but being able to get a + list of individual kernels without parsing a string is desirable. + Adding <code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code>.</p> +</div> +</div> +</div> +</li> +<li> +<p>What is the behaviour of the queries that return an array of structures when +there are no elements to return?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: The query succeeds and the size returned is zero.</p> +</div> +</div> +</div> +</li> +<li> +<p>What value should be returned when version information is not available?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: If a patch version is not available, it should be reported as 0. + If no version information is available, 0.0.0 should be + reported. + These values have been chosen as they are guaranteed to be lower + than or equal to any other version.</p> +</div> +</div> +</div> +</li> +<li> +<p>Should we add a query to report SPIR-V extended instruction sets?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: It is unlikely that we will introduce many SPIR-V extended + instruction sets without an accompanying API extension. + Decided not to do this.</p> +</div> +</div> +</div> +</li> +<li> +<p>Should the queries for which the old-style query doesn’t exist in a given +OpenCL version be present (e.g. +<code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code> prior to OpenCL 2.1 or +without support for <code>cl_khr_<wbr>il_<wbr>program</code> or +<code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code> on OpenCL 1.0)?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: All the queries are always present. + <code>CL_DEVICE_<wbr>BUILT_<wbr>IN_<wbr>KERNELS_<wbr>WITH_<wbr>VERSION_<wbr>KHR</code> returns an empty + set when Intermediate Languages are not supported. + <code>CL_DEVICE_<wbr>OPENCL_<wbr>C_<wbr>NUMERIC_<wbr>VERSION_<wbr>KHR</code> always returns 1.0 on + an OpenCL 1.0 platform.</p> +</div> +</div> +</div> +</li> +<li> +<p>Is reporting multiple Intermediate Languages with the same name and major/minor +versions but differing patch versions allowed?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: No. + This isn’t aligned with the intended use for patch versions and + makes it harder for implementations to guarantee consistency + with the existing IL queries.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-02-12</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_versioning" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_memory.html b/sdk/3.0/docs/man/html/cl_khr_external_memory.html new file mode 100644 index 0000000..d44d5fa --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_memory.html
@@ -0,0 +1,1310 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_memory(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_memory(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_memory - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-3-0">OpenCL 3.0</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>memory</code> defines a generic mechanism to share buffer and +image objects between OpenCL and many other APIs, including:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Optional properties to import external memory exported by other APIs +into OpenCL for a set of devices.</p> +</li> +<li> +<p>Routines to explicitly hand off memory ownership between OpenCL and +other APIs.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Other related extensions define specific external memory types that may be +imported into OpenCL.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clEnqueueAcquireExternalMemObjectsKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueReleaseExternalMemObjectsKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_mem_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>END_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>Return values from from <strong>clGetEventInfo</strong> when <em>param_name</em> is +<code>cl_command_<wbr>type</code>:</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>ACQUIRE_<wbr>EXTERNAL_<wbr>MEM_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>RELEASE_<wbr>EXTERNAL_<wbr>MEM_<wbr>OBJECTS_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="cl_khr_external_memory-Sample-Code"><a class="anchor" href="#cl_khr_external_memory-Sample-Code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_example_for_creating_a_cl_buffer_from_an_exported_external_buffer_in_a_single_device_context"><a class="anchor" href="#_example_for_creating_a_cl_buffer_from_an_exported_external_buffer_in_a_single_device_context"></a>Example for Creating a CL Buffer From an Exported External Buffer in a Single Device Context</h3> +<div class="paragraph"> +<p>This example also requires use of the <code>cl_khr_<wbr>external_<wbr>memory_<wbr>opaque_<wbr>fd</code> +extension.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with just first device +clCreateContext(..., 1, devices, ...); + +// Obtain fd/win32 or similar handle for external memory to be imported +// from other API. +int fd = getFdForExternalMemory(); + +// Create extMemBuffer of type cl_mem from fd. +cl_mem_properties_khr extMemProperties[] = +{ + (cl_mem_properties_khr)CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_FD_KHR, + (cl_mem_properties_khr)fd, + 0 +}; + +cl_mem extMemBuffer = clCreateBufferWithProperties(/*context*/ clContext, + /*properties*/ extMemProperties, + /*flags*/ 0, + /*size*/ size, + /*host_ptr*/ NULL, + /*errcode_ret*/ &errcode_ret);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_creating_a_cl_image_from_an_exported_external_image_for_single_device_usage_in_a_multi_device_context"><a class="anchor" href="#_example_for_creating_a_cl_image_from_an_exported_external_image_for_single_device_usage_in_a_multi_device_context"></a>Example for Creating a CL Image From an Exported External Image for Single Device Usage in a Multi-Device Context</h3> +<div class="paragraph"> +<p>This example also requires use of the <code>cl_khr_<wbr>external_<wbr>memory_<wbr>opaque_<wbr>fd</code> +extension.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with first two devices +clCreateContext(..., 2, devices, ...); + +// Create img of type cl_mem usable only on devices[0] + +// Create img of type cl_mem. +// Obtain fd/win32 or similar handle for external memory to be imported +// from other API. +int fd = getFdForExternalMemory(); + +// Set cl_image_format based on external image info +cl_image_format clImgFormat = { }; +clImageFormat.image_channel_order = CL_RGBA; +clImageFormat.image_channel_data_type = CL_UNORM_INT8; + +// Set cl_image_desc based on external image info +size_t clImageFormatSize; +cl_image_desc image_desc = { }; +image_desc.image_type = CL_MEM_OBJECT_IMAGE2D_ARRAY; +image_desc.image_width = width; +image_desc.image_height = height; +image_desc.image_depth = depth; +image_desc.image_array_size = num_slices; +image_desc.image_row_pitch = width * 8 * 4; // May need alignment +image_desc.image_slice_pitch = image_desc.image_row_pitch * height; +image_desc.num_mip_levels = 1; +image_desc.num_samples = 0; +image_desc.buffer = NULL; + +cl_mem_properties_khr extMemProperties[] = { + (cl_mem_properties_khr)CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_FD_KHR, + (cl_mem_properties_khr)fd, + (cl_mem_properties_khr)CL_MEM_DEVICE_HANDLE_LIST_KHR, + (cl_mem_properties_khr)devices[0], + CL_MEM_DEVICE_HANDLE_LIST_END_KHR, + 0 +}; + +cl_mem img = clCreateImageWithProperties(/*context*/ clContext, + /*properties*/ extMemProperties, + /*flags*/ 0, + /*image_format*/ &clImgFormat, + /*image_desc*/ &image_desc, + /*errcode_ret*/ &errcode_ret); + +// Use clGetImageInfo to get cl_image_format details. +size_t clImageFormatSize; +clGetImageInfo(img, + CL_IMAGE_FORMAT, + sizeof(cl_image_format), + &clImageFormat, + &clImageFormatSize);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_synchronization_using_wait_and_signal"><a class="anchor" href="#_example_for_synchronization_using_wait_and_signal"></a>Example for Synchronization Using Wait and Signal</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Start the main rendering loop + +// Create extSem of type cl_semaphore_khr using clCreateSemaphoreWithPropertiesKHR + +// Create extMem of type cl_mem using clCreateBufferWithProperties or clCreateImageWithProperties + +while (true) { + // (not shown) Signal the semaphore from the other API + + // Wait for the semaphore in OpenCL, by calling clEnqueueWaitSemaphoresKHR on 'extSem' + clEnqueueWaitSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &extSem, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel that accesses extMem + clEnqueueNDRangeKernel(command_queue, ...); + + // Signal the semaphore in OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &extSem, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // (not shown) Launch work in other API that waits on 'extSem' +}</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_with_memory_sharing_using_acquirerelease"><a class="anchor" href="#_example_with_memory_sharing_using_acquirerelease"></a>Example With Memory Sharing Using Acquire/Release</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Create extSem of type cl_semaphore_khr using +// clCreateSemaphoreWithPropertiesKHR with CL_SEMAPHORE_HANDLE_*_KHR. + +// Create extMem1 and extMem2 of type cl_mem using clCreateBufferWithProperties +// or clCreateImageWithProperties + +while (true) { + // (not shown) Signal the semaphore from the other API. Wait for the + // semaphore in OpenCL, by calling clEnqueueWaitForSemaphore on extSem + clEnqueueWaitSemaphoresKHR(/*command_queue*/ cq1, + /*num_sema_objects*/ 1, + /*sema_objects*/ &extSem, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Get explicit ownership of extMem1 + clEnqueueAcquireExternalMemObjectsKHR(/*command_queue*/ cq1, + /*num_mem_objects*/ 1, + /*mem_objects*/ extMem1, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel that accesses extMem1 on cq1 on cl_device1 + clEnqueueNDRangeKernel(cq1, ..., &event1); + + // Launch kernel that accesses both extMem1 and extMem2 on cq2 on cl_device2 + // Migration of extMem1 and extMem2 handles through regular CL memory + // migration. + clEnqueueNDRangeKernel(cq2, ..., &event1, &event2); + + // Give up ownership of extMem1 before you signal the semaphore. Handle + // memory migration here. + clEnqueueReleaseExternalMemObjectsKHR(/*command_queue*/ cq2 + /*num_mem_objects*/ 1, + /*mem_objects*/ &extMem1, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Signal the semaphore from OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ cq2, + /*num_sema_objects*/ 1, + /*sema_objects*/ &extSem, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // (not shown) Launch work in other API that waits on 'extSem' + // Other API accesses ext1, but not ext2 on device-1 +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>How should the import of images that are created in external APIs with +non-linear tiling be robustly handled?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>UNRESOLVED</strong></p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-05-04</p> +<div class="ulist"> +<ul> +<li> +<p>Clarified device handle list enum cannot be specified without an +external memory handle (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the memory-specific +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.3, 2023-08-29</p> +<div class="ulist"> +<ul> +<li> +<p>Added query for +<code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> +(provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_memory_dma_buf.html b/sdk/3.0/docs/man/html/cl_khr_external_memory_dma_buf.html new file mode 100644 index 0000000..c282c25 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_memory_dma_buf.html
@@ -0,0 +1,1005 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_memory_dma_buf(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_memory_dma_buf(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_memory_dma_buf - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-3-0">OpenCL 3.0</a></code><br> +and<br> +<code><a href="#cl_khr_external_memory">[cl_khr_external_memory]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>memory_<wbr>dma_<wbr>buf</code> extends +<code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code> to support Linux <code>dma_buf</code> as an +external memory handle type that may be specified when creating a buffer or +image memory object.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>DMA_<wbr>BUF_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-05-04</p> +<div class="ulist"> +<ul> +<li> +<p>Clarified device handle list enum cannot be specified without an +external memory handle (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the memory-specific +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.3, 2023-08-29</p> +<div class="ulist"> +<ul> +<li> +<p>Added query for +<code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> +(provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory_dma_buf" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_memory_dx.html b/sdk/3.0/docs/man/html/cl_khr_external_memory_dx.html new file mode 100644 index 0000000..4651ee7 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_memory_dx.html
@@ -0,0 +1,1012 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_memory_dx(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_memory_dx(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_memory_dx - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-3-0">OpenCL 3.0</a></code><br> +and<br> +<code><a href="#cl_khr_external_memory">[cl_khr_external_memory]</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2023-08-29</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>memory_<wbr>dx</code> extends +<code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code> to support Windows handles +referring to Direct 3D resources as external memory handle types that may be +specified when creating a buffer or image memory object.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>D3D11_<wbr>TEXTURE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>D3D11_<wbr>TEXTURE_<wbr>KMT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>D3D12_<wbr>HEAP_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>D3D12_<wbr>RESOURCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-05-04</p> +<div class="ulist"> +<ul> +<li> +<p>Clarified device handle list enum cannot be specified without an +external memory handle (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the memory-specific +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.3, 2023-08-29</p> +<div class="ulist"> +<ul> +<li> +<p>Added query for +<code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> +(provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory_dx" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_memory_opaque_fd.html b/sdk/3.0/docs/man/html/cl_khr_external_memory_opaque_fd.html new file mode 100644 index 0000000..3f56eb7 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_memory_opaque_fd.html
@@ -0,0 +1,1005 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_memory_opaque_fd(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_memory_opaque_fd(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_memory_opaque_fd - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-3-0">OpenCL 3.0</a></code><br> +and<br> +<code><a href="#cl_khr_external_memory">[cl_khr_external_memory]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>memory_<wbr>opaque_<wbr>fd</code> extends +<code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code> to support a POSIX file descriptor +handle as an external memory handle type that may be specified when creating +a buffer or image memory object.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>OPAQUE_<wbr>FD_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-05-04</p> +<div class="ulist"> +<ul> +<li> +<p>Clarified device handle list enum cannot be specified without an +external memory handle (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the memory-specific +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.3, 2023-08-29</p> +<div class="ulist"> +<ul> +<li> +<p>Added query for +<code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> +(provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory_opaque_fd" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_memory_win32.html b/sdk/3.0/docs/man/html/cl_khr_external_memory_win32.html new file mode 100644 index 0000000..42a2711 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_memory_win32.html
@@ -0,0 +1,1008 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_memory_win32(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_memory_win32(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_memory_win32 - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-3-0">OpenCL 3.0</a></code><br> +and<br> +<code><a href="#cl_khr_external_memory">[cl_khr_external_memory]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>memory_<wbr>win32</code> extends +<code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code> to support Windows handles as +external memory handle types that may be specified when creating a buffer or +image memory object.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>memory_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>OPAQUE_<wbr>WIN32_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_EXTERNAL_<wbr>MEMORY_<wbr>HANDLE_<wbr>OPAQUE_<wbr>WIN32_<wbr>KMT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-05-04</p> +<div class="ulist"> +<ul> +<li> +<p>Clarified device handle list enum cannot be specified without an +external memory handle (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the memory-specific +<code>CL_MEM_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.3, 2023-08-29</p> +<div class="ulist"> +<ul> +<li> +<p>Added query for +<code>CL_DEVICE_<wbr>EXTERNAL_<wbr>MEMORY_<wbr>IMPORT_<wbr>ASSUME_<wbr>LINEAR_<wbr>IMAGES_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code> +(provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory_win32" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_semaphore.html b/sdk/3.0/docs/man/html/cl_khr_external_semaphore.html new file mode 100644 index 0000000..69e945e --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_semaphore.html
@@ -0,0 +1,1315 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_semaphore(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_semaphore(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_semaphore - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br> +and<br> +<code><a href="#cl_khr_semaphore">[cl_khr_semaphore]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>Interactions and External Dependencies</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>This extension requires OpenCL 1.2.</p> +</li> +<li> +<p>The <code>cl_khr_<wbr>semaphore</code> extension is required as it defines semaphore +objects as well as for wait and signal operations on semaphores.</p> +</li> +<li> +<p>For OpenCL to be able to import external semaphores from other APIs +using this extension, the other API is required to provide below +mechanisms:</p> +<div class="ulist"> +<ul> +<li> +<p>Ability to export semaphore handles</p> +</li> +<li> +<p>Ability to query semaphore handle in the form of one of the handle type +supported by OpenCL.</p> +</li> +</ul> +</div> +</li> +<li> +<p>The other APIs that want to use semaphore exported by OpenCL using this +extension are required to provide below mechanism:</p> +<div class="ulist"> +<ul> +<li> +<p>Ability to import semaphore handles using handle types exported by +OpenCL.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>semaphore</code> introduced semaphores as a new type along with a set of +APIs for create, release, retain, wait and signal operations on it. +This extension defines APIs and mechanisms to share semaphores created in an +external API by importing into and exporting from OpenCL.</p> +</div> +<div class="paragraph"> +<p>This extension defines:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>New attributes that can be passed as part of +<code>cl_semaphore_<wbr>properties_<wbr>khr</code> for specifying properties of external +semaphores to be imported or exported.</p> +</li> +<li> +<p>New attributes that can be passed as part of +<code>cl_semaphore_<wbr>info_<wbr>khr</code> for specifying properties of external +semaphores to be exported.</p> +</li> +<li> +<p>An extension to <strong>clCreateSemaphoreWithPropertiesKHR</strong> to accept external +semaphore properties allowing to import or export an external semaphore +into or from OpenCL.</p> +</li> +<li> +<p>Semaphore handle types required for importing and exporting semaphores.</p> +</li> +<li> +<p>Modifications to Wait and Signal API behavior when dealing with external +semaphores created from different handle types.</p> +</li> +<li> +<p>API query exportable semaphores handles using specified handle type.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The layered extensions <code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>dx_<wbr>fence</code>, +<code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>opaque_<wbr>fd</code>, +<code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>sync_<wbr>fd</code>, and +<code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>win32</code> define specific external semaphores +that may be imported into or exported from OpenCL.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>IMPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_semaphore_<wbr>properties_<wbr>khr</code> and <code>cl_semaphore_<wbr>info_<wbr>khr</code>:</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>EXPORT_<wbr>HANDLE_<wbr>TYPES_<wbr>LIST_<wbr>END_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_semaphore_<wbr>info_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>EXPORTABLE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample_code"><a class="anchor" href="#_sample_code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The following examples use the <code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>opaque_<wbr>fd</code> +extension to obtain an external semaphore. +Similar code can be written using the other layered extensions.</p> +</div> +<div class="sect2"> +<h3 id="_example_for_importing_a_semaphore_created_by_another_api_in_opencl_in_a_single_device_context"><a class="anchor" href="#_example_for_importing_a_semaphore_created_by_another_api_in_opencl_in_a_single_device_context"></a>Example for Importing a Semaphore Created by Another API in OpenCL in a Single-Device Context</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-c" data-lang="c">// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with just first device +clCreateContext(..., 1, devices, ...); + +// Obtain fd/win32 or similar handle for external semaphore to be imported +// from the other API. +int fd = getFdForExternalSemaphore(); + +// Create clSema of type cl_semaphore_khr usable on the only available device +// assuming the semaphore was imported from the same device. + +cl_semaphore_properties_khr sema_props[] = + {(cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_BINARY_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR, + (cl_semaphore_properties_khr)fd, + 0}; + +int errcode_ret = 0; +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_importing_a_semaphore_created_by_another_api_in_opencl_in_a_multi_device_context_for_single_device_usage"><a class="anchor" href="#_example_for_importing_a_semaphore_created_by_another_api_in_opencl_in_a_multi_device_context_for_single_device_usage"></a>Example for Importing a Semaphore Created by Another API in OpenCL in a Multi-device Context for Single Device Usage</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-c" data-lang="c">// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with first two devices +clCreateContext(..., 2, devices, ...); + +// Obtain fd/win32 or similar handle for external semaphore to be imported +// from the other API. +int fd = getFdForExternalSemaphore(); + +// Create clSema of type cl_semaphore_khr usable only on device 1 +// assuming the semaphore was imported from the same device. +cl_semaphore_properties_khr sema_props[] = { + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_BINARY_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR, + (cl_semaphore_properties_khr)fd, + (cl_semaphore_properties_khr)CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR, + (cl_semaphore_properties_khr)devices[1], + CL_SEMAPHORE_DEVICE_HANDLE_LIST_END_KHR, + 0 +}; + +int errcode_ret = 0; +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_synchronization_using_a_semaphore_created_by_another_api_and_imported_in_opencl"><a class="anchor" href="#_example_for_synchronization_using_a_semaphore_created_by_another_api_and_imported_in_opencl"></a>Example for Synchronization Using a Semaphore Created by Another API and Imported in OpenCL</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-c" data-lang="c">// Create clSema using one of the above examples of external semaphore creation. + +int errcode_ret = 0; +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret); + +// Start the main loop + +while (true) { + // (not shown) Signal the semaphore from the other API + + // Wait for the semaphore in OpenCL + clEnqueueWaitSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel + clEnqueueNDRangeKernel(command_queue, ...); + + // Signal the semaphore in OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // (not shown) Launch work in the other API that waits on 'clSema' + +}</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_synchronization_using_a_semaphore_exported_by_opencl"><a class="anchor" href="#_example_for_synchronization_using_a_semaphore_exported_by_opencl"></a>Example for Synchronization Using a Semaphore Exported by OpenCL</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-c" data-lang="c">// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with first two devices +clCreateContext(..., 2, devices, ...); + +// Create clSema of type cl_semaphore_khr usable only on device 1 +cl_semaphore_properties_khr sema_props[] = { + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_BINARY_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR, + CL_SEMAPHORE_EXPORT_HANDLE_TYPES_LIST_END_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR, + (cl_semaphore_properties_khr)devices[1], + CL_SEMAPHORE_DEVICE_HANDLE_LIST_END_KHR, + 0 +}; + +int errcode_ret = 0; +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret); + +// Application queries handle-type and the exportable handle associated with the semaphore. +clGetSemaphoreInfoKHR(clSema, + CL_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR, + sizeof(cl_external_semaphore_handle_type_khr), + &handle_type, + &handle_type_size); + +// The other API or process can use the exported semaphore handle +// to import +int fd = -1; +if (handle_type == CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR) { + clGetSemaphoreHandleForTypeKHR(clSema, + device, + CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR, + sizeof(int), + &fd, + NULL); +} + +// Start the main rendering loop + +while (true) { + // (not shown) Signal the semaphore from the other API + + // Wait for the semaphore in OpenCL + clEnqueueWaitSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel + clEnqueueNDRangeKernel(command_queue, ...); + + // Signal the semaphore in OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // (not shown) Launch work in the other API that waits on 'clSema' +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-11-16</p> +<div class="ulist"> +<ul> +<li> +<p>Added <code>CL_SEMAPHORE_<wbr>EXPORTABLE_<wbr>KHR</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-11-21</p> +<div class="ulist"> +<ul> +<li> +<p>Added re-import function call to <code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>sync_<wbr>fd</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_semaphore_dx_fence.html b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_dx_fence.html new file mode 100644 index 0000000..e82036f --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_dx_fence.html
@@ -0,0 +1,970 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_semaphore_dx_fence(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_semaphore_dx_fence(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_semaphore_dx_fence - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br> +and<br> +<code><a href="#cl_khr_semaphore">[cl_khr_semaphore]</a></code><br> +and<br> +<code><a href="#cl_khr_external_semaphore">[cl_khr_external_semaphore]</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-09-10</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>dx_<wbr>fence</code> supports importing and exporting a +D3D12 fence as an external semaphore using the APIs introduced by +<code>cl_khr_<wbr>external_<wbr>semaphore</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>D3D12_<wbr>FENCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore_dx_fence" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_semaphore_opaque_fd.html b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_opaque_fd.html new file mode 100644 index 0000000..c0ce094 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_opaque_fd.html
@@ -0,0 +1,972 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_semaphore_opaque_fd(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_semaphore_opaque_fd(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_semaphore_opaque_fd - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br> +and<br> +<code><a href="#cl_khr_semaphore">[cl_khr_semaphore]</a></code><br> +and<br> +<code><a href="#cl_khr_external_semaphore">[cl_khr_external_semaphore]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>opaque_<wbr>fd</code> supports importing and exporting a +restricted POSIX file descriptor as an external semaphore using the APIs +introduced by <code>cl_khr_<wbr>external_<wbr>semaphore</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>OPAQUE_<wbr>FD_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore_opaque_fd" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_semaphore_sync_fd.html b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_sync_fd.html new file mode 100644 index 0000000..47acb39 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_sync_fd.html
@@ -0,0 +1,1017 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_semaphore_sync_fd(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_semaphore_sync_fd(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_semaphore_sync_fd - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br> +and<br> +<code><a href="#cl_khr_semaphore">[cl_khr_semaphore]</a></code><br> +and<br> +<code><a href="#cl_khr_external_semaphore">[cl_khr_external_semaphore]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>sync_<wbr>fd</code> supports importing and exporting a POSIX +file descriptor handle to a Linux Sync File or Android Fence object as an +external semaphore using the APIs introduced by +<code>cl_khr_<wbr>external_<wbr>semaphore</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clGetSemaphoreHandleForTypeKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_semaphore_<wbr>reimport_<wbr>properties_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>SYNC_<wbr>FD_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-11-16</p> +<div class="ulist"> +<ul> +<li> +<p>Added <code>CL_SEMAPHORE_<wbr>EXPORTABLE_<wbr>KHR</code>.</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.2, 2023-11-21</p> +<div class="ulist"> +<ul> +<li> +<p>Added re-import function call to <code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>sync_<wbr>fd</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore_sync_fd" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_external_semaphore_win32.html b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_win32.html new file mode 100644 index 0000000..476c6df --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_external_semaphore_win32.html
@@ -0,0 +1,973 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_external_semaphore_win32(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_external_semaphore_win32(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_external_semaphore_win32 - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br> +and<br> +<code><a href="#cl_khr_semaphore">[cl_khr_semaphore]</a></code><br> +and<br> +<code><a href="#cl_khr_external_semaphore">[cl_khr_external_semaphore]</a></code><br></p> +</div> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-09-10</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>external_<wbr>semaphore_<wbr>win32</code> supports importing and exporting an NT +handle or global share handle as an external semaphore using the APIs +introduced by <code>cl_khr_<wbr>external_<wbr>semaphore</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_external_<wbr>semaphore_<wbr>handle_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>OPAQUE_<wbr>WIN32_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>HANDLE_<wbr>OPAQUE_<wbr>WIN32_<wbr>KMT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore_win32" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_fp16.html b/sdk/3.0/docs/man/html/cl_khr_fp16.html index 1f9a678..eea1dc4 100644 --- a/sdk/3.0/docs/man/html/cl_khr_fp16.html +++ b/sdk/3.0/docs/man/html/cl_khr_fp16.html
@@ -767,383 +767,91 @@ <h1>cl_khr_fp16(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_fp16 - Optional half floating-point support.</p> +<p>cl_khr_fp16 - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_fp16 : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension adds support for half scalar and vector types as built-in types that can be used for arithmetic operations, conversions, etc. -An application that wants to use <code>half</code> and <code>halfn</code> types will need to include the directive shown above.</p> +<p><code>cl_khr_<wbr>fp16</code> adds support to OpenCL C for half scalar and vector types as +built-in types that can be used for arithmetic operations, conversions, etc.</p> </div> <div class="paragraph"> -<p>The list of built-in scalar and vector data types are extended to include the types in the table below.</p> +<p>See the <a href="OpenCL_C.html#cl_khr_fp16">Half-Precision Floating-Point</a> +section of the OpenCL C specification for more information.</p> </div> -<div class="paragraph"> -<p>The built-in vector data types for <code>halfn</code> are also declared as appropriate types in the OpenCL API (and header files) that can be used by an application. -The following table describes the built-in vector data types for <code>halfn</code> as defined in the OpenCL C programming language and the corresponding data type available to the application:</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 33.3333%;"> -<col style="width: 33.3333%;"> -<col style="width: 33.3334%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">Type in OpenCL Language</th> -<th class="tableblock halign-left valign-top">Description</th> -<th class="tableblock halign-left valign-top">API type for application</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>half2</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>2-component half-precision floating-point vector</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_half2</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>half3</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>3-component half-precision floating-point vector</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_half3</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>half4</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>4-component half-precision floating-point vector</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_half4</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>half8</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>8-component half-precision floating-point vector</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_half8</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>half16</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>16-component half-precision floating-point vector</p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_half16</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>The relational, equality, logical and logical unary <a href="operators.html">operators</a> can be used with <code>half</code> scalar and <code>halfn</code> vector types and shall produce a scalar <code>int</code> and vector <code>shortn</code> result respectively.</p> </div> -<div class="paragraph"> -<p>The OpenCL compiler accepts an <code>h</code> and <code>H</code> suffix on floating-point literals, indicating the literal is typed as a <code>half</code>.</p> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>HALF_<wbr>FP_<wbr>CONFIG</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>The macro names given in the following list must use the values specified. -These constant expressions are suitable for use in <code>#if</code> preprocessing directives.</p> +</li> +</ul> </div> -<div class="paragraph"> -<p>The following table also describes the corresponding macro names available to the application.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 33.3333%;"> -<col style="width: 33.3333%;"> -<col style="width: 33.3334%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">Macro in OpenCL Language</th> -<th class="tableblock halign-left valign-top">value</th> -<th class="tableblock halign-left valign-top">Macro for application</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_DIG</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>3</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_DIG</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MANT_DIG</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>11</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MANT_DIG</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MAX_10_EXP</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>+4</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MAX_10_EXP</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MAX_EXP</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>+16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MAX_EXP</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MIN_10_EXP</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>-4</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MIN_10_EXP</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MIN_EXP</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>-13</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MIN_EXP</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_RADIX</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>2</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_RADIX</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MAX</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>0x1.ffcp15h</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MAX</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_MIN</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>0x1.0p-14h</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_MIN</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>#define HALF_EPSILON</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>0x1.0p-10h</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>HALF_EPSILON</code></p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>The following constants are also available. -They are of type <code>half</code> and are accurate within the precision of the <code>half</code> type.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">Constant</th> -<th class="tableblock halign-left valign-top">Description</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_E_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of e</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_LOG2E_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of log<sub>2</sub> e</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_LOG10E_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of log<sub>10</sub> e</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_LN2_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of ln 2</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_LN10_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of ln 10</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_PI_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of π</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_PI_2_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of π / 2</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_PI_4_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of π / 4</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_1_PI_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of 1 / π</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_2_PI_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of 2 / π</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_2_SQRTPI_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of 2 / √π</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_SQRT2_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of √2</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>M_SQRT1_2_H</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Value of 1 / √2</p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Ann application may query the configuration information using the op-code <code>CL_DEVICE_HALF_FP_CONFIG</code> with <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> for an OpenCL device that supports half precision floating-point.</p> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> </div> -<div class="paragraph"> -<div class="title">Conversions</div> -<p>The implicit conversion rules specified in section 6.2.1 now include the <code>half</code> scalar and <code>halfn</code> vector data types.</p> -</div> -<div class="paragraph"> -<p>The explicit casts described in section 6.2.2 are extended to take a <code>half</code> scalar data type and a <code>halfn</code> vector data type.</p> -</div> -<div class="paragraph"> -<p>The explicit conversion functions described in section 6.2.3 are extended to take a <code>half</code> scalar data type and a <code>halfn</code> vector data type.</p> -</div> -<div class="paragraph"> -<p>The <strong>as_typen</strong>() function for re-interpreting types as described in section -6.2.4.2 is extended to allow conversion-free casts between <code>shortn</code>, -<code>ushortn</code> and <code>halfn</code> scalar and vector data types.</p> +</li> +</ul> </div> </div> </div> @@ -1151,16 +859,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>, -<a href="mathFunctions.html">mathFunctions</a>.txt, -<a href="commonFunctions.html">commonFunctions</a>.txt, -<a href="geometricFunctions.html">geometricFunctions</a>.txt, -<a href="relationalFunctions.html">relationalFunctions</a>.txt, -<a href="vectorDataLoadandStoreFunctions.html">vectorDataLoadandStoreFunctions</a>.txt, -<a href="asyncCopyFunctions.html">asyncCopyFunctions</a>.txt, -<a href="imageReadFunctions.html">imageReadFunctions</a>.txt -<a href="imageWriteFunctions.html">imageWriteFunctions</a>.txt</p> +<p>No cross-references are available</p> </div> </div> </div> @@ -1168,10 +867,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp16" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp16" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp16</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -1179,7 +879,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1189,8 +889,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_fp64.html b/sdk/3.0/docs/man/html/cl_khr_fp64.html index c721103..c9bd572 100644 --- a/sdk/3.0/docs/man/html/cl_khr_fp64.html +++ b/sdk/3.0/docs/man/html/cl_khr_fp64.html
@@ -767,27 +767,105 @@ <h1>cl_khr_fp64(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_fp64 - Provided for backward compatibility if `double` floating-point precision is supported.</p> +<p>cl_khr_fp64 - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_fp64 : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.2</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to an optional core feature in OpenCL 1.2. -The extension string exists for backward compatibility if double precision -is supported.</p> +<p><code>cl_khr_<wbr>fp64</code> adds support to OpenCL C for double-precision scalar and +vector types as built-in types that can be used for arithmetic operations, +conversions, etc.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_fp64">Double-Precision Floating-Point</a> +section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>DOUBLE_<wbr>FP_<wbr>CONFIG</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -795,7 +873,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clGetDeviceInfo.html">clGetDeviceInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -803,10 +881,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp64" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp64" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp64</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -814,7 +893,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -824,8 +903,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_gl_depth_images.html b/sdk/3.0/docs/man/html/cl_khr_gl_depth_images.html index 738fd7c..f373212 100644 --- a/sdk/3.0/docs/man/html/cl_khr_gl_depth_images.html +++ b/sdk/3.0/docs/man/html/cl_khr_gl_depth_images.html
@@ -767,100 +767,107 @@ <h1>cl_khr_gl_depth_images(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_gl_depth_images - Extends CL/GL sharing to allow a CL image to be created from a GL depth or depth-stencil texture.</p> +<p>cl_khr_gl_depth_images - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_gl_depth_images : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_gl_sharing">[cl_khr_gl_sharing]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The <code>cl_khr_gl_depth_images</code> extension extends CL / GL sharing (i.e. -the <a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a> extension) defined in section 9.7 to allow a CL depth image to be created from a GL depth or depth-stencil texture. -If this extension is supported by an implementation, the string cl_khr_gl_depth_images will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in table 4.1 or <code>CL_DEVICE_EXTENSIONS</code> string described in table 4.3.</p> +<p><code>cl_khr_<wbr>gl_<wbr>depth_<wbr>images</code> extends OpenCL / OpenGL sharing defined by the +<code>cl_khr_<wbr>gl_<wbr>sharing</code> extension to allow an OpenCL image to be created +from an OpenGL depth or depth-stencil texture.</p> </div> <div class="paragraph"> -<p>Depth images with an image channel order of <code>CL_DEPTH_STENCIL</code> can only be created using the <a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a> API.</p> +<p>Depth images with an image channel order of <code>CL_DEPTH_<wbr>STENCIL</code> can only be +created using the <strong>clCreateFromGLTexture</strong> API.</p> </div> -<div class="paragraph"> -<p>For the image format given by channel order of <code>CL_DEPTH_STENCIL</code> and channel data type of <code>CL_UNORM_INT24</code>, the depth is stored as an unsigned normalized 24-bit value.</p> </div> -<div class="paragraph"> -<p>For the image format given by channel order of <code>CL_DEPTH_STENCIL</code> and channel data type of <code>CL_FLOAT</code>, each pixel is two 32-bit values. -The depth is stored as a single precision floating-point value followed by the stencil which is stored as a 8-bit integer value.</p> </div> -<div class="paragraph"> -<p>The stencil value cannot be read or written using the read imagef and write imagef built-in functions in an OpenCL kernel.</p> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_channel_<wbr>order</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEPTH_<wbr>STENCIL</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>Depth image objects with an image channel order = <code>CL_DEPTH_STENCIL</code> cannot be used as arguments to <a href="clEnqueueReadImage.html">clEnqueueReadImage</a>, -<a href="clEnqueueWriteImage.html">clEnqueueWriteImage</a>, -<a href="clEnqueueCopyImage.html">clEnqueueCopyImage</a>, -<a href="clEnqueueCopyImageToBuffer.html">clEnqueueCopyImageToBuffer</a>, -<a href="clEnqueueCopyBufferToImage.html">clEnqueueCopyBufferToImage</a>, -<a href="clEnqueueMapImage.html">clEnqueueMapImage</a> and -<a href="clEnqueueFillImage.html">clEnqueueFillImage</a> and will return a <code>CL_INVALID_OPERATION</code> error.</p> +</li> +<li> +<p><code>cl_channel_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_UNORM_<wbr>INT24</code></p> +</li> +</ul> </div> -<div class="paragraph"> -<p>The following new image formats are added to table 9.4 in section 9.7.3.1 of the OpenCL 2.1 extension specification. -If a GL texture object with an internal format from table 9.4 is successfully created by OpenGL, then there is guaranteed to be a mapping to one of the corresponding CL image format(s) in that table.</p> +</li> +</ul> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">GL internal format</th> -<th class="tableblock halign-left valign-top">CL image format (channel order, channel data type)</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT32F</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_FLOAT</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH_COMPONENT16</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH, CL_UNORM_INT16</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH24_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_UNORM_INT24</code></p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>GL_DEPTH32F_STENCIL8</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_DEPTH_STENCIL, CL_FLOAT</code></p> -</div></div></td> -</tr> -</tbody> -</table> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> </div> </div> <div class="sect1"> @@ -875,10 +882,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_depth_images" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_depth_images" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_depth_images</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -886,7 +894,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -896,8 +904,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_gl_event.html b/sdk/3.0/docs/man/html/cl_khr_gl_event.html index f13af72..f410045 100644 --- a/sdk/3.0/docs/man/html/cl_khr_gl_event.html +++ b/sdk/3.0/docs/man/html/cl_khr_gl_event.html
@@ -767,66 +767,214 @@ <h1>cl_khr_gl_event(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_gl_event - Create an OpenCL event object from a GL sync object.</p> +<p>cl_khr_gl_event - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_khr_gl_event</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_gl_sharing">[cl_khr_gl_sharing]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension enables the function <a href="clCreateEventFromGLsyncKHR.html">clCreateEventFromGLsyncKHR</a>.</p> +<p><code>cl_khr_<wbr>gl_<wbr>event</code> allows creating OpenCL event objects linked to OpenGL +fence sync objects, potentially improving efficiency of sharing images and +buffers between the two APIs. +The companion <code>GL_ARB_cl_event</code> extension provides the complementary +functionality of creating an OpenGL sync object from an OpenCL event object.</p> </div> <div class="paragraph"> -<p>This extension allows creating OpenCL event objects linked to OpenGL fence sync objects, potentially improving efficiency of sharing images and buffers between the two APIs. -The companion <code>GL_ARB_cl_event</code> OpenGL extension provides the complementary functionality of creating an OpenGL sync object from an OpenCL event object.</p> -</div> -<div class="paragraph"> -<p>In addition, this extension modifies the behavior of <a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a> and -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a> to implicitly guarantee synchronization with an OpenGL context bound in the same thread as the OpenCL context.</p> -</div> -<div class="paragraph"> -<p>If this extension is supported by an implementation, the string <code>cl_khr_gl_event</code> will be present in the <code>CL_PLATFORM_EXTENSIONS</code> (see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>) or <code>CL_DEVICE_EXTENSIONS</code> string (see -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>).</p> +<p>In addition, this extension modifies the behavior of +<strong>clEnqueueAcquireGLObjects</strong> and <strong>clEnqueueReleaseGLObjects</strong> to +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#event-command-types-for-shared-opencl-opencl-memory-objects" target="_blank" rel="noopener">implicitly +guarantee synchronization</a> with an OpenGL context bound in the same thread +as the OpenCL context.</p> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> <div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateEventFromGLsyncKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>GL_<wbr>FENCE_<wbr>SYNC_<wbr>OBJECT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>How are references between CL events and GL syncs handled?</p> +<div class="openblock"> +<div class="content"> <div class="paragraph"> -<p>Event objects can also be used to reflect the status of an OpenGL sync object. -The sync object in turn refers to a fence command executing in an OpenGL command stream. -This provides another method of coordinating sharing of buffers and images between OpenGL and OpenCL (see section 9.7.6.1).</p> +<p><strong>PROPOSED</strong>: The linked CL event places a single reference on the GL sync +object. +That reference is removed when the CL event is deleted. +A more expensive alternative would be to reflect changes in the CL event +reference count through to the GL sync.</p> +</div> +</div> +</div> +</li> +<li> +<p>How are linkages to synchronization primitives in other APIs handled?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>UNRESOLVED</strong>. +We will at least want to have a way to link events to EGL sync objects. +There is probably no analogous DX concept. +There would be an entry point for each type of synchronization primitive to +be linked to, such as <strong>clCreateEventFromEGLSyncKHR</strong>.</p> </div> <div class="paragraph"> -<p>If the <code>cl_khr_gl_event</code> extension is supported, then the OpenCL implementation will ensure that any such pending OpenGL operations are complete for an OpenGL context bound to the same thread as the OpenCL context. -This is referred to as implicit synchronization.</p> +<p>An alternative is a generic clCreateEventFromExternalEvent taking an +attribute list. +The attribute list would include information defining the type of the +external primitive and additional information (GL sync object handle, EGL +display and sync object handle, etc.) specific to that type. +This allows a single entry point to be reused.</p> </div> <div class="paragraph"> -<p>If the <code>cl_khr_gl_event</code> extension is supported and the OpenGL context in question supports fence sync objects, completion of OpenGL commands may also be determined by placing a GL fence command after those commands using <code>glFenceSync</code>, creating an event from the resulting GL sync object using <a href="clCreateEventFromGLsyncKHR.html">clCreateEventFromGLsyncKHR</a>, and determining completion of that event object via -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>. -This method may be considerably more efficient than calling <code>glFinish</code>, and is referred to as <code>explicit synchronization</code>. -Explicit synchronization is most useful when an OpenGL context bound to another thread is accessing the memory objects.</p> +<p>These will probably be separate extensions following the API proposed here.</p> </div> -<div class="paragraph"> -<p>If the <code>cl_khr_gl_event</code> extension is not supported, completion of OpenGL commands may be determined by issuing and waiting for completion of a <code>glFinish</code> command on all OpenGL contexts with pending references to these objects. -Some implementations may offer other efficient synchronization methods. -If such methods exist they will be described in platform-specific documentation.</p> </div> +</div> +</li> +<li> +<p>Should the <code>CL_EVENT_<wbr>COMMAND_<wbr>TYPE</code> correspond to the type of command +(fence) or the type of the linked sync object?</p> +<div class="openblock"> +<div class="content"> <div class="paragraph"> -<p>Note that no synchronization method other than <code>glFinish</code> is portable between all OpenGL implementations and all OpenCL implementations. -While this is the only way to ensure completion that is portable to all platforms, <code>glFinish</code> is an expensive operation and its use should be avoided if the <code>cl_khr_gl_event</code> extension is supported on a platform.</p> +<p><strong>PROPOSED</strong>: To the type of the linked sync object.</p> +</div> +</div> +</div> +</li> +<li> +<p>Should we support both explicit and implicit synchronization?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>PROPOSED</strong>: Yes. +Implicit synchronization is suitable when GL and CL are executing in the +same application thread. +Explicit synchronization is suitable when they are executing in different +threads but the expense of glFinish is too high.</p> +</div> +</div> +</div> +</li> +<li> +<p>Should this be a platform or device extension?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>PROPOSED</strong>: Platform extension. +This may result in considerable under-the-hood work to implement the +sync→event semantics using only the public GL API, however, when multiple +drivers and devices with different GL support levels coexist in the same +runtime.</p> +</div> +</div> +</div> +</li> +<li> +<p>Where can events generated from GL syncs be usable?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>PROPOSED</strong>: Only with <strong>clEnqueueAcquireGLObjects</strong>, and attempting to use such +an event elsewhere will generate an error. +There is no apparent use case for using such events elsewhere, and possibly +some cost to supporting it, balanced by the cost of checking the source of +events in all other commands accepting them as parameters.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -834,8 +982,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clCreateEventFromGLsyncKHR.html">clCreateEventFromGLsyncKHR</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -843,10 +990,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_event" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_event" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_event</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -854,7 +1002,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -864,8 +1012,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_gl_msaa_sharing.html b/sdk/3.0/docs/man/html/cl_khr_gl_msaa_sharing.html index aa936ea..246612c 100644 --- a/sdk/3.0/docs/man/html/cl_khr_gl_msaa_sharing.html +++ b/sdk/3.0/docs/man/html/cl_khr_gl_msaa_sharing.html
@@ -767,118 +767,106 @@ <h1>cl_khr_gl_msaa_sharing(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_gl_msaa_sharing - Extends the CL/GL sharing to support GL multi-sampled texture (color or depth).</p> +<p>cl_khr_gl_msaa_sharing - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_gl_depth_images">[cl_khr_gl_depth_images]</a></code><br> +and<br> +<code><a href="#cl_khr_gl_sharing">[cl_khr_gl_sharing]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension name is <code>cl_khr_gl_msaa_sharing</code>. -This extension requires <a href="cl_khr_gl_depth_images.html">cl_khr_gl_depth_images</a>.</p> +<p><code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extends the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension to +allow a shared OpenCL/OpenGL image object to be created from an OpenGL +multi-sampled (“MSAA”) color or depth texture.</p> </div> <div class="paragraph"> -<p>This extension adds read_image and write_image functions to the built-in -<a href="imageReadFunctions.html">Image Read Functions</a> and -<a href="imageWriteFunctions.html">Image Write Functions</a>, respectively.</p> +<p>This extension adds multi-sample support to <strong>clCreateFromGLTexture</strong> and +<strong>clGetGLTextureInfo</strong>, and allows <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#setting-kernel-arguments" target="_blank" rel="noopener">passing +multi-sample images to compute kernels</a>.</p> </div> <div class="paragraph"> -<p>Multi-sample CL image objects (MSAA) can only be read from a kernel. -Multi-sample CL image objects cannot be used as arguments to <a href="clEnqueueReadImage.html">clEnqueueReadImage</a> , -<a href="clEnqueueWriteImage.html">clEnqueueWriteImage</a>, -<a href="clEnqueueCopyImage.html">clEnqueueCopyImage</a>, -<a href="clEnqueueCopyImageToBuffer.html">clEnqueueCopyImageToBuffer</a>, -<a href="clEnqueueCopyBufferToImage.html">clEnqueueCopyBufferToImage</a>, -<a href="clEnqueueMapImage.html">clEnqueueMapImage</a> and -<a href="clEnqueueFillImage.html">clEnqueueFillImage</a> and will return a <code>CL_INVALID_OPERATION</code> error.</p> +<p>This extension requires <code>cl_khr_<wbr>gl_<wbr>depth_<wbr>images</code>.</p> </div> <div class="paragraph"> -<p>Add the following new data types to table 6.3 in section 6.1.3 of the OpenCL 2.1 specification (see <a href="otherDataTypes.html">otherDataTypes</a>):</p> +<p>See the <a href="OpenCL_C.html#cl_khr_gl_msaa_sharing">cl_khr_gl_msaa_sharing</a> +section of the OpenCL C specification for more information.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">Type</th> -<th class="tableblock halign-left valign-top">Description</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>image2d_msaa_t</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>A 2D multi-sample color image. - Refer to section 6.13.14 for a detailed description of the built-in functions that use this type.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>image2d_array_msaa_t</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>A 2D multi-sample color image array. - Refer to section 6.13.14 for a detailed description of the built-in functions that use this type.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>image2d_msaa_depth_t</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>A 2D multi-sample depth image. - Refer to section 6.13.14 for a detailed description of the built-in functions that use this type.</p> -</div></div></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>image2d_array_msaa_depth_t</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>A 2D multi-sample depth image array. - Refer to section 6.13.14 for a detailed description of the built-in functions that use this type.</p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="admonitionblock note"> -<table> -<tr> -<td class="icon"> -<i class="fa icon-note" title="Note"></i> -</td> -<td class="content"> -When a multisample image is accessed in a kernel, the access takes one -vector of integers describing which pixel to fetch and an integer -corresponding to the sample numbers describing which sample within the pixel -to fetch. <em>sample</em> identifies the sample position in the multi-sample image. -</td> -</tr> -</table> </div> -<div class="paragraph"> -<p>For best performance, we recommend that <em>sample</em> be a literal value so it is -known at compile time and the OpenCL compiler can perform appropriate -optimizations for multisample reads on the device.</p> </div> -<div class="paragraph"> -<p>No standard sampling instructions are allowed on the multisample image. -Accessing a coordinate outside the image and/or a sample that is outside the number of samples associated with each pixel in the image is undefined</p> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_gl_<wbr>texture_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_GL_<wbr>NUM_<wbr>SAMPLES</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -886,9 +874,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="imageReadFunctions.html">Image Read Functions</a>, -<a href="imageWriteFunctions.html">Image Write Functions</a>, -<a href="clGetGLTextureInfo.html">clGetGLTextureInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -896,10 +882,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_msaa_sharing" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_msaa_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_msaa_sharing</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -907,7 +894,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -917,8 +904,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_gl_sharing.html b/sdk/3.0/docs/man/html/cl_khr_gl_sharing.html index 5e1c429..f6d755b 100644 --- a/sdk/3.0/docs/man/html/cl_khr_gl_sharing.html +++ b/sdk/3.0/docs/man/html/cl_khr_gl_sharing.html
@@ -767,79 +767,450 @@ <h1>cl_khr_gl_sharing(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_gl_sharing - Allow applications to use OpenGL buffer, texture and renderbuffer objects as OpenCL image objects.</p> +<p>cl_khr_gl_sharing - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">cl_khr_gl_sharing</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>General information about GL sharing follows.</p> +<p>The <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension allows use of OpenGL buffer, texture, and +renderbuffer objects as OpenCL memory objects, referred to as “Shared +OpenCL/OpenGL Memory Objects”.</p> </div> <div class="paragraph"> -<p>The OpenCL specification in section 9.7 defines how to share data with -texture and buffer objects in a parallel OpenGL implementation, but does not -define how the association between an OpenCL context and an OpenGL context -or share group is established. This extension defines optional attributes to -OpenCL context creation routines which associate a GL context or share group -object with a newly created OpenCL context. If this extension is supported -by an implementation, the string "cl_khr_gl_sharing" will be present in the -<code>CL_DEVICE_EXTENSIONS</code> string described in the table of allowed values for -<em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a> or in the <code>CL_PLATFORM_EXTENSIONS</code> -string described in the table of allowed values for <em>param_name</em> for -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>.</p> -</div> -<div class="paragraph"> -<p>This section discusses OpenCL functions that allow applications to use -OpenGL buffer, texture, and renderbuffer objects as OpenCL memory objects. -This allows efficient sharing of data between OpenCL and OpenGL. The OpenCL -API may be used to execute kernels that read and/or write memory objects -that are also OpenGL objects.</p> +<p>An OpenCL context may be associated with an OpenGL context or share group +object, using additional attributes described for <strong>clCreateContext</strong>.</p> </div> <div class="paragraph"> <p>An OpenCL image object may be created from an OpenGL texture or renderbuffer -object. An OpenCL buffer object may be created from an OpenGL buffer object.</p> +object as described for <strong>clCreateFromGLTexture</strong> and +<strong>clCreateFromGLRenderbuffer</strong>, respectively.</p> </div> <div class="paragraph"> -<p>Any supported OpenGL object defined within the GL share group object, or the -share group associated with the GL context from which the CL context is -created, may be shared, with the exception of the default OpenGL objects -(i.e. objects named zero), which may not be shared.</p> +<p>An OpenCL buffer object may be created from an OpenGL buffer object using +<strong>clCreateFromGLBuffer</strong>.</p> +</div> +<div class="paragraph"> +<p>Any supported OpenGL object defined within the associated OpenGL context or +share group object may be shared, with the exception of the default OpenGL +objects (i.e. objects named zero), which may not be shared.</p> +</div> +<div class="paragraph"> +<p>Additional information on the use of shared OpenCL/OpenGL memory objects is +found in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#lifetime-of-shared-opencl-opengl-memory-objects" target="_blank" rel="noopener">Lifetime of +Shared OpenCL/OpenGL Memory Objects</a>, +<a href="#acquiring-shared-opencl-opengl-memory-objects">Acquiring, Releasing, and +Synchronizing Access to Shared OpenCL/OpenGL Memory Objects</a> and +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#querying-devices-that-support-sharing-with-opengl" target="_blank" rel="noopener">Querying Devices that +Support Sharing with OpenGL</a> sections.</p> +</div> +<div class="paragraph"> +<p>An OpenGL implementation supporting buffer objects and sharing of texture +and buffer object images with OpenCL is required by this extension.</p> </div> </div> </div> <div class="sect1"> -<h2 id="_notes"><a class="anchor" href="#_notes"></a>Notes</h2> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> <div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clGetGLContextInfoKHR</strong></p> +</li> +<li> +<p><strong>clCreateFromGLBuffer</strong></p> +</li> +<li> +<p><strong>clCreateFromGLTexture</strong></p> +</li> +<li> +<p><strong>clCreateFromGLRenderbuffer</strong></p> +</li> +<li> +<p><strong>clGetGLObjectInfo</strong></p> +</li> +<li> +<p><strong>clGetGLTextureInfo</strong></p> +</li> +<li> +<p><strong>clEnqueueAcquireGLObjects</strong></p> +</li> +<li> +<p><strong>clEnqueueReleaseGLObjects</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_gl_<wbr>context_<wbr>info</code></p> +</li> +<li> +<p><code>cl_gl_<wbr>object_<wbr>type</code></p> +</li> +<li> +<p><code>cl_gl_<wbr>texture_<wbr>info</code></p> +</li> +<li> +<p><code>cl_gl_<wbr>platform_<wbr>info</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_gl_<wbr>context_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CURRENT_<wbr>DEVICE_<wbr>FOR_<wbr>GL_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICES_<wbr>FOR_<wbr>GL_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_GL_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_EGL_<wbr>DISPLAY_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_GLX_<wbr>DISPLAY_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_WGL_<wbr>HDC_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_CGL_<wbr>SHAREGROUP_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_gl_<wbr>object_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>BUFFER</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE2D</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE3D</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>RENDERBUFFER</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE2D_<wbr>ARRAY</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE1D</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE1D_<wbr>ARRAY</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>OBJECT_<wbr>TEXTURE_<wbr>BUFFER</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_gl_<wbr>texture_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_GL_<wbr>TEXTURE_<wbr>TARGET</code></p> +</li> +<li> +<p><code>CL_GL_<wbr>MIPMAP_<wbr>LEVEL</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>GL_<wbr>SHAREGROUP_<wbr>REFERENCE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>How should the OpenGL context be identified when creating an associated +OpenCL context?</p> +<div class="openblock"> +<div class="content"> <div class="paragraph"> -<p>If the <a href="cl_khr_mipmap_image.html">cl_khr_mipmap_image</a>, extension is supported by the OpenCL device, the <code>cl_khr_gl_sharing</code> extension adds support for creating a mip-mapped CL image from a mip-mapped GL texture.</p> +<p><strong>RESOLVED</strong>: by using a (display,context handle) attribute pair to identify +an arbitrary OpenGL or OpenGL ES context with respect to one of the +window-system binding layers EGL, GLX, or WGL, or a share group handle to +identify a CGL share group. +If a context is specified, it need not be current to the thread calling +clCreateContext*.</p> </div> <div class="paragraph"> -<p>To create a mip-mapped CL image from a mip-mapped GL texture, the <em>miplevel</em> argument to <a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>, should be a negative value. -If <em>miplevel</em> is a negative value then a CL mipmapped image object is created from a mipmapped GL texture object instead of a CL image object for a specific miplevel of a GL texture.</p> +<p>A previously suggested approach would use a single boolean attribute +CL_USE_GL_CONTEXT_KHR to allow creating a context associated with the +currently bound OpenGL context. +This may still be implemented as a separate extension, and might allow more +efficient acquire/release behavior in the special case where they are being +executed in the same thread as the bound GL context used to create the CL +context.</p> </div> -<div class="admonitionblock note"> -<table> -<tr> -<td class="icon"> -<i class="fa icon-note" title="Note"></i> -</td> -<td class="content"> -For a detailed description of how the level of detail is computed, please refer to section 3.9.7 of the OpenGL 3.0 specification. -</td> -</tr> -</table> +</div> +</div> +</li> +<li> +<p>What should the format of an attribute list be?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>After considerable discussion, we think we can live with a list of +<attribute name,value> pairs terminated by zero. +The list is passed as 'cl_context_properties *<em>properties'</em>, where +cl_context_properties is typedefed to be 'intptr_t' in cl.h.</p> +</div> +<div class="paragraph"> +<p>This effectively allows encoding all scalar integer, pointer, and handle +values in the host API into the argument list and is analogous to the +structure and type of EGL attribute lists. +<code>NULL</code> attribute lists are also allowed. +Again as for EGL, any attributes not explicitly passed in the list will take +on a defined default value that does something reasonable.</p> +</div> +<div class="paragraph"> +<p>Experience with EGL, GLX, and WGL has shown attribute lists to be a +sufficiently flexible and general mechanism to serve the needs of management +calls such as context creation. +It is not completely general (encoding floating-point and non-scalar +attribute values is not straightforward), and other approaches were +suggested such as opaque attribute lists with getter/setter methods, or +arrays of varadic structures.</p> +</div> +</div> +</div> +</li> +<li> +<p>What’s the behavior of an associated OpenGL or OpenCL context when using +resources defined by the other associated context, and that context is +destroyed?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: OpenCL objects place a reference on the data store underlying +the corresponding GL object when they’re created. +The GL name corresponding to that data store may be deleted, but the data +store itself remains so long as any CL object has a reference to it. +However, destroying all GL contexts in the share group corresponding to a CL +context results in implementation-dependent behavior when using a +corresponding CL object, up to and including program termination.</p> +</div> +</div> +</div> +</li> +<li> +<p>How about sharing with D3D?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>Sharing between D3D and OpenCL should use the same attribute list mechanism, +though obviously with different parameters, and be exposed as a similar +parallel OpenCL extension. +There may be an interaction between that extension and this one since it’s +not yet clear if it will be possible to create a CL context simultaneously +sharing GL and D3D objects.</p> +</div> +</div> +</div> +</li> +<li> +<p>Under what conditions will context creation fail due to sharing?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Several cross-platform failure conditions are described (GL +context or CGL share group doesn’t exist, GL context doesn’t support types +of GL objects, GL context implementation doesn’t allow sharing), but +additional failures may result due to implementation-dependent reasons and +should be added to this extension as such failures are discovered. +Sharing between OpenCL and OpenGL requires integration at the driver +internals level.</p> +</div> +</div> +</div> +</li> +<li> +<p>What command-queues can <strong>clEnqueueAcquire/ReleaseGLObjects</strong> be placed +on?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: All command-queues. +This restriction is enforced at context creation time. +If any device passed to context creation cannot support shared OpenCL/OpenGL +memory objects, context creation will fail with a <code>CL_INVALID_<wbr>OPERATION</code> +error.</p> +</div> +</div> +</div> +</li> +<li> +<p>How can applications determine which command-queue to place an +Acquire/Release on?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: The <strong>clGetGLContextInfoKHR</strong> returns either the CL device +currently corresponding to a specified GL context (typically the display +it’s running on), or a list of all the CL devices the specified context +might run on (potentially useful in multiheaded / “virtual screen” +environments). +This command is not placed together with commands to create shared +OpenCL/OpenGL memory objects because it relies on the same property-list +method of specifying a GL context introduced by this extension.</p> +</div> +<div class="paragraph"> +<p>If no devices are returned, it means that the GL context exists on an older +GPU not capable of running OpenCL, but still capable of sharing objects +between GL running on that GPU and CL running elsewhere.</p> +</div> +</div> +</div> +</li> +<li> +<p>What is the meaning of the <code>CL_DEVICES_<wbr>FOR_<wbr>GL_<wbr>CONTEXT_<wbr>KHR</code> query?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: The list of all CL devices that may ever be associated with a +specific GL context. +On platforms such as MacOS X, the “virtual screen” concept allows multiple +GPUs to back a single virtual display. +Similar functionality might be implemented on other windowing systems, such +as a transparent heterogenous multiheaded X server. +Therefore the exact meaning of this query is interpreted relative to the +binding layer API in use.</p> +</div> +</div> +</div> +</li> +<li> +<p>What happened to the "`extension`"s <code>cl_khr_gl_sharing__context</code> and +<code>cl_khr_gl_sharing__memobjs</code> that were previously published?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: These were not actual extensions, but the result of splitting +the <code>cl_khr_<wbr>gl_<wbr>sharing</code> extension language into two separate sections for +publication. +All extension language has now been integrated into the unified +Specification and this distinction is not useful.</p> +</div> +</div> +</div> +</li> +<li> +<p>Where are the <code>clCreateFromGLTexture2D</code> and <code>clCreateFromGLTexture3D</code> +fuctions described?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>PROPOSED</strong>: These functions are present in cl.xml, listed as OpenCL 1.0 APIs +that were deprecated in OpenCL 1.2, but the current extension language does +not described them. +Since OpenCL 1.2 itself is so old, it is not worth the effort to look back +and determine the exact details of these APIs.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -847,16 +1218,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clGetGLContextInfoKHR.html">clGetGLContextInfoKHR</a>, -<a href="clCreateFromGLBuffer.html">clCreateFromGLBuffer</a>, -<a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a>, -<a href="clCreateFromGLRenderbuffer.html">clCreateFromGLRenderbuffer</a>, -<a href="clGetGLObjectInfo.html">clGetGLObjectInfo</a>, -<a href="clGetGLTextureInfo.html">clGetGLTextureInfo</a>, -<a href="clEnqueueAcquireGLObjects.html">clEnqueueAcquireGLObjects</a>, -<a href="clEnqueueReleaseGLObjects.html">clEnqueueReleaseGLObjects</a>, -<a href="cl_khr_mipmap_image.html">cl_khr_mipmap_image</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -864,10 +1226,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_sharing" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -875,7 +1238,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -885,8 +1248,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_global_int32_base_atomics.html b/sdk/3.0/docs/man/html/cl_khr_global_int32_base_atomics.html index 1a86276..6633cc9 100644 --- a/sdk/3.0/docs/man/html/cl_khr_global_int32_base_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_global_int32_base_atomics.html
@@ -767,27 +767,89 @@ <h1>cl_khr_global_int32_base_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_global_int32_base_atomics - Extension enabling base 32-bit atomic functions.</p> +<p>cl_khr_global_int32_base_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to a core feature in OpenCL 1.1. -The built-in atomic function names were changed to use the <code>atomic_</code> prefix -instead of <code>atom_</code>.</p> +<p><code>cl_khr_<wbr>global_<wbr>int32_<wbr>base_<wbr>atomics</code> allows OpenCL C atomic operations to be +performed on 32-bit signed and unsigned integers in global memory.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 1.1, with the built-in atomic +function names changed to use the <strong>atomic_</strong> prefix instead of <strong>atom_</strong>.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_global_int32_base_atomics">Global 32-Bit +Base Atomics</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -795,9 +857,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_global_int32_extended_atomics.html">cl_khr_global_int32_extended_atomics</a>, -<a href="cl_khr_local_int32_base_atomics.html">cl_khr_local_int32_base_atomics</a>, -<a href="cl_khr_local_int32_extended_atomics.html">cl_khr_local_int32_extended_atomics</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -805,10 +865,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_global_int32_base_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -816,7 +877,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -826,8 +887,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_global_int32_extended_atomics.html b/sdk/3.0/docs/man/html/cl_khr_global_int32_extended_atomics.html index 35cf5fe..841e6ea 100644 --- a/sdk/3.0/docs/man/html/cl_khr_global_int32_extended_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_global_int32_extended_atomics.html
@@ -767,27 +767,91 @@ <h1>cl_khr_global_int32_extended_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_global_int32_extended_atomics - Extension enabling extended 32-bit atomic functions</p> +<p>cl_khr_global_int32_extended_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to a core feature in OpenCL 1.1. -The built-in atomic function names were changed to use the <code>atomic_</code> prefix -instead of <code>atom_</code>.</p> +<p><code>cl_khr_<wbr>global_<wbr>int32_<wbr>extended_<wbr>atomics</code> allows OpenCL C extended atomic +operations to be performed on 32-bit signed and unsigned integers in global +memory.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 1.1, with the built-in atomic +function names changed to use the <strong>atomic_</strong> prefix instead of <strong>atom_</strong>.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_global_int32_extended_atomics">Global +32-Bit Extended Atomics</a> section of the OpenCL C specification for more +information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -795,9 +859,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_global_int32_base_atomics.html">cl_khr_global_int32_base_atomics</a>, -<a href="cl_khr_local_int32_base_atomics.html">cl_khr_local_int32_base_atomics</a>, -<a href="cl_khr_local_int32_extended_atomics.html">cl_khr_local_int32_extended_atomics</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -805,10 +867,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_global_int32_extended_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -816,7 +879,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -826,8 +889,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_icd.html b/sdk/3.0/docs/man/html/cl_khr_icd.html index 760859c..3010197 100644 --- a/sdk/3.0/docs/man/html/cl_khr_icd.html +++ b/sdk/3.0/docs/man/html/cl_khr_icd.html
@@ -767,38 +767,83 @@ <h1>cl_khr_icd(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_icd - Extension through which the Khronos OpenCL installable client driver loader (ICD Loader) may expose multiple separate vendor installable client drivers (Vendor ICDs) for OpenCL.</p> +<p>cl_khr_icd - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_icd : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This is a platform extension which defines a simple mechanism through which the Khronos OpenCL installable client driver loader (ICD Loader) may expose multiple separate vendor installable client drivers (Vendor ICDs) for OpenCL. -An application written against the ICD Loader will be able to access all <code>cl_platform_ids</code> exposed by all vendor implementations with the ICD Loader acting as a demultiplexor. -If this extension is supported by an implementation, the string <code>cl_khr_icd</code> will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in the table of allowed values for <em>param_name</em> for <a href="clGetDeviceInfo.html">clGetDeviceInfo</a>.</p> +<p><code>cl_khr_<wbr>icd</code> describes a platform extension which defines a simple mechanism +through which the Khronos OpenCL installable client driver loader (ICD +Loader) may expose multiple separate vendor installable client drivers +(Vendor ICDs) for OpenCL. +An application written against the ICD Loader will be able to access all +<code>cl_platform_<wbr>id</code>s exposed by all vendor implementations with the ICD +Loader acting as a demultiplexor.</p> </div> <div class="paragraph"> -<p>If the <code>cl_khr_icd</code> extension is supported, then the <a href="clIcdGetPlatformIDsKHR.html">clIcdGetPlatformIDsKHR</a> function is enabled.</p> +<p>This is a platform extension, so if this extension is supported by an +implementation, the string <code>"cl_khr_icd"</code> will be present in the +<code>CL_PLATFORM_<wbr>EXTENSIONS</code> string.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_source_code"><a class="anchor" href="#_source_code"></a>Source Code</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The official source for the ICD Loader is available on github, at:</p> </div> <div class="paragraph"> -<p>The official source for the ICD loader is available at the Khronos website. -The complete <code>_cl_icd_dispatch</code> structure is defined in the header <code>icd_dispatch.h</code> which is available as a part of the source code.</p> +<p><a href="https://github.com/KhronosGroup/OpenCL-ICD-Loader" class="bare">https://github.com/KhronosGroup/OpenCL-ICD-Loader</a></p> </div> <div class="paragraph"> -<div class="title">Inferring Vendors from Function Call Arguments</div> -<p>At every OpenCL function call, the ICD Loader infers the vendor ICD function to call from the arguments to the function. +<p>The complete <code>_cl_icd_dispatch</code> structure is defined in the header +<code>cl_icd.h</code>, which is available as a part of the OpenCL headers.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_inferring_vendors_from_function_call_arguments"><a class="anchor" href="#_inferring_vendors_from_function_call_arguments"></a>Inferring Vendors From Function Call Arguments</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>At every OpenCL function call, the ICD Loader infers the vendor ICD function +to call from the arguments to the function. An object is said to be ICD compatible if it is of the following structure:</p> </div> <div class="listingblock"> @@ -811,89 +856,351 @@ </div> </div> <div class="paragraph"> -<p><code><object></code> is one of <code>platform_id</code>, <code>device_id</code>, <code>context</code>, <code>command_queue</code>, <code>mem</code>, <code>program</code>, <code>kernel</code>, <code>event</code>, or <code>sampler</code>.</p> +<p><object> is one of platform_id, device_id, context, command_queue, mem, +program, kernel, event, or sampler.</p> </div> <div class="paragraph"> -<p>The structure <code>_cl_icd_dispatch</code> is a function pointer dispatch table which is used to direct calls to a particular vendor implementation. +<p>The structure <code>_cl_icd_dispatch</code> is a function pointer dispatch table which +is used to direct calls to a particular vendor implementation. All objects created from ICD compatible objects must be ICD compatible.</p> </div> <div class="paragraph"> -<p>A link to source code which defines the entries in the function table structure <code>_cl_icd_dispatch</code> is available in the Sample Code section of the OpenCL specification. -The order of the functions in <code>_cl_icd_dispatch</code> is determined by the ICD Loader’s source. -The ICD Loader’s source’s <code>_cl_icd_dispatch</code> table is to be appended to only.</p> +<p>The definition for <code>_cl_icd_dispatch</code> is provided along with the OpenCL +headers. +Existing members can never be removed from that structure but new members +can be appended.</p> </div> <div class="paragraph"> -<p>Functions which do not have an argument from which the vendor implementation may be inferred are ignored, with the exception of <code>clGetExtensionFunctionAddress</code>. -which is described below.</p> +<p>Functions which do not have an argument from which the vendor implementation +may be inferred have been deprecated and may be ignored.</p> </div> +</div> +</div> +<div class="sect1"> +<h2 id="_icd_data"><a class="anchor" href="#_icd_data"></a>ICD Data</h2> +<div class="sectionbody"> <div class="paragraph"> -<div class="title">ICD Data</div> <p>A Vendor ICD is defined by two pieces of data:</p> </div> <div class="ulist"> <ul> <li> -<p>The Vendor ICD library specifies a library which contains the OpenCL entry points for the vendor’s OpenCL implementation. -The vendor ICD’s library file name should include the vendor name, or a vendor-specific implementation identifier.</p> +<p>The Vendor ICD library specifies a library which contains the OpenCL +entry points for the vendor’s OpenCL implementation. +The vendor ICD’s library file name should include the vendor name, or a +vendor-specific implementation identifier.</p> </li> <li> -<p>The Vendor ICD extension suffix is a short string which specifies the default suffix for extensions implemented only by that vendor. -See Additions to Chapter 9 for details on the mechanism through which this is accomplished. +<p>The Vendor ICD extension suffix is a short string which specifies the +default suffix for extensions implemented only by that vendor. The vendor suffix string is optional.</p> </li> </ul> </div> +</div> +</div> +<div class="sect1"> +<h2 id="_icd_loader_vendor_enumeration_on_windows"><a class="anchor" href="#_icd_loader_vendor_enumeration_on_windows"></a>ICD Loader Vendor Enumeration on Windows</h2> +<div class="sectionbody"> <div class="paragraph"> -<div class="title">ICD Loader Vendor Enumeration on Windows</div> -<p>To enumerate Vendor ICDs on Windows, the ICD Loader scans the values in the registry key <code>HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors</code>. -For each value in this key which has <code>DWORD</code> data set to 0, the ICD Loader opens the dynamic link library specified by the name of the value using <code>LoadLibraryA</code>.</p> +<p>To enumerate Vendor ICDs on Windows, the ICD Loader will first scan for +REG_SZ string values in the "Display Adapter" and "Software Components" HKR +registry keys. +The exact registry keys to scan should be obtained via PnP Configuration +Manager APIs, but will look like:</p> </div> <div class="paragraph"> -<p>For example, if the registry contains the following value</p> +<p>For 64-bit ICDs:</p> </div> -<div class="listingblock"> +<div class="literalblock"> <div class="content"> -<pre>[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors] +<pre>HKLM\SYSTEM\CurrentControlSet\Control\Class\ +{Display Adapter GUID}\{Instance ID}\OpenCLDriverName, or + +HKLM\SYSTEM\CurrentControlSet\Control\Class\ +{Software Component GUID}\{Instance ID}\OpenCLDriverName</pre> +</div> +</div> +<div class="paragraph"> +<p>For 32-bit ICDs:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>HKLM\SYSTEM\CurrentControlSet\Control\Class\ +{Display Adapter GUID}\{Instance ID}\OpenCLDriverNameWoW, or + +HKLM\SYSTEM\CurrentControlSet\Control\Class\ +{Software Component GUID}\{Instance ID}\OpenCLDriverNameWoW</pre> +</div> +</div> +<div class="paragraph"> +<p>These registry values contain the path to the Vendor ICD library. +For example, if the registry contains the value:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>[HKLM\SYSTEM\CurrentControlSet\Control\Class\{GUID}\{Instance}] +"OpenCLDriverName"="c:\\vendor a\\vndra_ocl.dll"</pre> +</div> +</div> +<div class="paragraph"> +<p>Then the ICD Loader will open the Vendor ICD library:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>c:\vendor a\vndra_ocl.dll</pre> +</div> +</div> +<div class="paragraph"> +<p>The ICD Loader will also scan for REG_DWORD values in the registry key:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>HKLM\SOFTWARE\Khronos\OpenCL\Vendors</pre> +</div> +</div> +<div class="paragraph"> +<p>For each registry value in this key which has data set to 0, the ICD Loader +will open the Vendor ICD library specified by the name of the registry +value.</p> +</div> +<div class="paragraph"> +<p>For example, if the registry contains the value:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>[HKLM\SOFTWARE\Khronos\OpenCL\Vendors] "c:\\vendor a\\vndra_ocl.dll"=dword:00000000</pre> </div> </div> <div class="paragraph"> -<p>then the ICD will open the library “c:\vendor a\vndra_ocl.dll”.</p> +<p>Then the ICD Loader will open the Vendor ICD library:</p> </div> +<div class="literalblock"> +<div class="content"> +<pre>c:\vendor a\vndra_ocl.dll</pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_icd_loader_vendor_enumeration_on_linux"><a class="anchor" href="#_icd_loader_vendor_enumeration_on_linux"></a>ICD Loader Vendor Enumeration on Linux</h2> +<div class="sectionbody"> <div class="paragraph"> -<div class="title">ICD Loader Vendor Enumeration on Linux</div> -<p>To enumerate vendor ICDs on Linux, the ICD Loader scans the files in the path <code>/etc/OpenCL/vendors</code>. +<p>To enumerate vendor ICDs on Linux, the ICD Loader scans the files in the +path <code>/etc/OpenCL/vendors</code>. For each file in this path, the ICD Loader opens the file as a text file. -The expected format for the file is a single line of text which specifies the Vendor ICD’s library. -The ICD Loader will attempt to open that file as a shared object using <code>dlopen()</code>. +The expected format for the file is a single line of text which specifies +the Vendor ICD’s library. +The ICD Loader will attempt to open that file as a shared object using +dlopen(). Note that the library specified may be an absolute path or just a file name.</p> </div> <div class="paragraph"> -<p>For example, if the following file exists <code>/etc/OpenCL/vendors/VendorA.icd</code> and contains the text <code>libVendorAOpenCL.so</code> then the ICD Loader will load the library “libVendorAOpenCL.so”.</p> +<p>For example, if the following file exists</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>/etc/OpenCL/vendors/VendorA.icd</pre> +</div> </div> <div class="paragraph"> -<div class="title">ICD Loader Vendor Enumeration on Android</div> -<p>To enumerate vendor ICDs on Android, the ICD Loader scans the files in the path <code>/system/vendor/Khronos/OpenCL/vendors</code>. +<p>and contains the text</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>libVendorAOpenCL.so</pre> +</div> +</div> +<div class="paragraph"> +<p>then the ICD Loader will load the library <code>libVendorAOpenCL.so</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_icd_loader_vendor_enumeration_on_android"><a class="anchor" href="#_icd_loader_vendor_enumeration_on_android"></a>ICD Loader Vendor Enumeration on Android</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>To enumerate vendor ICDs on Android, the ICD Loader scans the files in the +path <code>/system/vendor/Khronos/OpenCL/vendors</code>. For each file in this path, the ICD Loader opens the file as a text file. -The expected format for the file is a single line of text which specifies the Vendor ICD’s library. -The ICD Loader will attempt to open that file as a shared object using <code>dlopen()</code>. +The expected format for the file is a single line of text which specifies +the Vendor ICD’s library. +The ICD Loader will attempt to open that file as a shared object using +dlopen(). Note that the library specified may be an absolute path or just a file name.</p> </div> <div class="paragraph"> -<p>For example, if the following file exists <code>/system/vendor/Khronos/OpenCL/vendors/VendorA.icd</code> and contains the text <code>libVendorAOpenCL.so</code> then the ICD Loader will load the library “libVendorAOpenCL.so”.</p> +<p>For example, if the following file exists</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>/system/vendor/Khronos/OpenCL/vendors/VendorA.icd</pre> +</div> </div> <div class="paragraph"> -<div class="title">Adding a Vendor Library</div> -<p>Upon successfully loading a Vendor ICD’s library, the ICD Loader queries the following functions from the library: <a href="clIcdGetPlatformIDsKHR.html">clIcdGetPlatformIDsKHR</a>, -<a href="clGetPlatformInfo.html">clGetPlatformInfo</a>, and <code>clGetExtensionFunctionAddress</code>. -If any of these functions are not present then the ICD Loader will close and ignore the library.</p> +<p>and contains the text</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>libVendorAOpenCL.so</pre> +</div> </div> <div class="paragraph"> -<p>Next the ICD Loader queries available ICD-enabled platforms in the library using <a href="clIcdGetPlatformIDsKHR.html">clIcdGetPlatformIDsKHR</a>. -For each of these platforms, the ICD Loader queries the platform’s extension string to verify that <code>cl_khr_icd</code> is supported, then queries the platform’s Vendor ICD extension suffix using <a href="clGetPlatformInfo.html">clGetPlatformInfo</a> with the value <code>CL_PLATFORM_ICD_SUFFIX_KHR</code>.</p> +<p>then the ICD Loader will load the library <code>libVendorAOpenCL.so</code>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_adding_a_vendor_library"><a class="anchor" href="#_adding_a_vendor_library"></a>Adding a Vendor Library</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Upon successfully loading a Vendor ICD’s library, the ICD Loader queries the +following functions from the library: <strong>clIcdGetPlatformIDsKHR</strong>, +<strong>clGetPlatformInfo</strong>, and <strong>clGetExtensionFunctionAddress</strong> (note: +<strong>clGetExtensionFunctionAddress</strong> has been deprecated, but is still required +for the ICD Loader). +If any of these functions are not present then the ICD Loader will close and +ignore the library.</p> </div> <div class="paragraph"> -<p>If any of these steps fail, the ICD Loader will ignore the Vendor ICD and continue on to the next.</p> +<p>Next the ICD Loader queries available ICD-enabled platforms in the library +using <strong>clIcdGetPlatformIDsKHR</strong>. +For each of these platforms, the ICD Loader queries the platform’s extension +string to verify that <code>cl_khr_<wbr>icd</code> is supported, then queries the +platform’s Vendor ICD extension suffix using <strong>clGetPlatformInfo</strong> with the +value <code>CL_PLATFORM_<wbr>ICD_<wbr>SUFFIX_<wbr>KHR</code>.</p> +</div> +<div class="paragraph"> +<p>If any of these steps fail, the ICD Loader will ignore the Vendor ICD and +continue on to the next.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clIcdGetPlatformIDsKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Accepted as <em>param_name</em> to the function <strong>clGetPlatformInfo</strong>:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>ICD_<wbr>SUFFIX_<wbr>KHR</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Returned by <strong>clGetPlatformIDs</strong> when no platforms are found:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>NOT_<wbr>FOUND_<wbr>KHR</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Some OpenCL functions do not take an object argument from which their +vendor library may be identified (e.g, <strong>clUnloadCompiler</strong>), how will +they be handled?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Such functions will be a noop for all calls through the ICD +Loader.</p> +</div> +</div> +</div> +</li> +<li> +<p>How are OpenCL extension to be handled?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: Extension APIs must be queried using +<strong>clGetExtensionFunctionAddressForPlatform</strong>.</p> +</div> +</div> +</div> +</li> +<li> +<p>How will the ICD Loader handle a <code>NULL</code> <code>cl_platform_<wbr>id</code>?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: The ICD will by default choose the first enumerated platform as +the <code>NULL</code> platform.</p> +</div> +</div> +</div> +</li> +<li> +<p>There exists no mechanism to unload the ICD Loader, should there be one?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: As there is no standard mechanism for unloading a vendor +implementation, do not add one for the ICD Loader.</p> +</div> +</div> +</div> +</li> +<li> +<p>How will the ICD Loader handle <code>NULL</code> objects passed to the OpenCL +functions?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><strong>RESOLVED</strong>: The ICD Loader will check for <code>NULL</code> objects passed to the +OpenCL functions without trying to dereference the <code>NULL</code> objects for +obtaining the ICD dispatch table. +On detecting a <code>NULL</code> object it will return one of the an invalid object +error values (e.g. <code>CL_INVALID_<wbr>DEVICE</code> corresponding to the object in +question.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -901,8 +1208,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clIcdGetPlatformIDsKHR.html">clIcdGetPlatformIDsKHR</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -910,10 +1216,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_icd" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -921,7 +1228,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -931,8 +1238,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_il_program.html b/sdk/3.0/docs/man/html/cl_khr_il_program.html index 053b414..dee1aa2 100644 --- a/sdk/3.0/docs/man/html/cl_khr_il_program.html +++ b/sdk/3.0/docs/man/html/cl_khr_il_program.html
@@ -767,43 +767,150 @@ <h1>cl_khr_il_program(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_il_program - Enable loading SPIR IL programs</p> +<p>cl_khr_il_program - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_il_program : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The OpenCL KHR extension <a href="cl_khr_il_program.html">cl_khr_il_program</a> has been deprecated. -This feature is now core.</p> +<p><code>cl_khr_<wbr>il_<wbr>program</code> adds the ability to create programs with intermediate +language (IL), usually SPIR-V. +Further information about the format and contents of SPIR-V may be found in +the SPIR-V Specification. +Information about how SPIR-V modules behave in the OpenCL environment may be +found in the OpenCL SPIR-V Environment Specification.</p> +</div> +<div class="paragraph"> +<p>This functionality described by this extension is a core feature in OpenCL +2.1.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateProgramWithILKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>IL_<wbr>VERSION_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PROGRAM_<wbr>IL_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> <div class="sect1"> <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> - +<div class="paragraph"> +<p>No cross-references are available</p> +</div> </div> </div> <div class="sect1"> <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_il_program" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_il_program" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_il_program</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -811,7 +918,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -821,8 +928,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_image2d_from_buffer.html b/sdk/3.0/docs/man/html/cl_khr_image2d_from_buffer.html index 00c7598..1569773 100644 --- a/sdk/3.0/docs/man/html/cl_khr_image2d_from_buffer.html +++ b/sdk/3.0/docs/man/html/cl_khr_image2d_from_buffer.html
@@ -767,25 +767,111 @@ <h1>cl_khr_image2d_from_buffer(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_image2d_from_buffer - Extension enabling creating 2D image from buffer data</p> +<p>cl_khr_image2d_from_buffer - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_image2d_from_buffer : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.0</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to a core feature in OpenCL 2.0.</p> +<p><code>cl_khr_<wbr>image2d_<wbr>from_<wbr>buffer</code> allows a 2D image to be created from an +existing OpenCL buffer memory object.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 2.0.</p> +</div> +<div class="paragraph"> +<p>Refer to the discussion of 2D images created from buffers in the +<a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-descriptor" target="_blank" rel="noopener">Image Descriptor</a> section for additional details.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>IMAGE_<wbr>PITCH_<wbr>ALIGNMENT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>IMAGE_<wbr>BASE_<wbr>ADDRESS_<wbr>ALIGNMENT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> </div> </div> </div> @@ -793,10 +879,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_image2d_from_buffer" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_image2d_from_buffer" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_image2d_from_buffer</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -804,7 +891,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -814,8 +901,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_initialize_memory.html b/sdk/3.0/docs/man/html/cl_khr_initialize_memory.html index 4fe13b9..ee63a71 100644 --- a/sdk/3.0/docs/man/html/cl_khr_initialize_memory.html +++ b/sdk/3.0/docs/man/html/cl_khr_initialize_memory.html
@@ -767,76 +767,117 @@ <h1>cl_khr_initialize_memory(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_initialize_memory - Extension adding support for initializing local and private memory before a kernel begins execution.</p> +<p>cl_khr_initialize_memory - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_initialize_memory : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Memory is allocated in various forms in OpenCL both explicitly (global memory) or implicitly (local, private memory). -This allocation so far does not provide a straightforward mechanism to initialize the memory on allocation. -In other words what is lacking is the equivalent of calloc for the currently supported malloc like capability. -This functionality is useful for a variety of reasons including ease of debugging, application controlled limiting of visibility to previous contents of memory and in some cases, optimization.</p> +<p><code>cl_khr_<wbr>initialize_<wbr>memory</code> adds OpenCL C support for initializing local and +private memory before a kernel begins execution. +This is accomplished by specifying a flag at context creation time affecting +all such memory.</p> </div> <div class="paragraph"> -<p>This extension adds support for initializing local and private memory before a kernel begins execution. -This extension name is <code>cl_khr_initialize_memory</code>.</p> +<p>Memory is allocated in various forms in OpenCL both explicitly (global +memory) or implicitly (local, private memory). +This allocation so far does not provide a straightforward mechanism to +initialize the memory on allocation. +In other words what is lacking is the equivalent of <code>calloc</code> for the +currently supported <code>malloc</code> like capability. +This functionality is useful for a variety of reasons including ease of +debugging, application controlled limiting of visibility to previous +contents of memory and in some cases, optimization.</p> </div> <div class="paragraph"> -<p>Add a new context property to table 4.5 in section 4.4 (see <a href="clCreateContext.html">clCreateContext</a>):</p> +<p>See the <a href="OpenCL_C.html#cl_khr_initialize_memory">Initializing Memory</a> +section of the OpenCL C specification for more information.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 33.3333%;"> -<col style="width: 33.3333%;"> -<col style="width: 33.3334%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-top">cl_context_properties enum</th> -<th class="tableblock halign-left valign-top">Property value</th> -<th class="tableblock halign-left valign-top">Description</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>CL_CONTEXT_MEMORY_INITIALIZE_KHR</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p><code>cl_context_memory_initialize_khr</code></p> -</div></div></td> -<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>Describes which memory types for the context must be initialized. - This is a bit-field, where the following values are currently supported:</p> </div> -<div class="paragraph"> -<p>+ - * <code>CL_CONTEXT_MEMORY_INITIALIZE_LOCAL_KHR</code> - Initialize local memory to zeros. - * <code>CL_CONTEXT_MEMORY_INITIALIZE_PRIVATE_KHR</code> - Initialize private memory to zeros.</p> -</div></div></td> -</tr> -</tbody> -</table> -<div class="paragraph"> -<p>Updates to section 6.9 - Restrictions:</p> </div> -<div class="paragraph"> -<p>If the context is created with <code>CL_CONTEXT_MEMORY_INITIALIZE_KHR</code>, appropriate memory locations as specified by the bit-field is initialized with zeroes, prior to the start of execution of any kernel. -The driver chooses when, prior to kernel execution, the initialization of local and/or private memory is performed. -The only requirement is there should be no values set from outside the context, which can be read during a kernel execution.</p> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_context_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_context_<wbr>memory_<wbr>initialize_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>LOCAL_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_CONTEXT_<wbr>MEMORY_<wbr>INITIALIZE_<wbr>PRIVATE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -852,10 +893,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_initialize_memory" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_initialize_memory" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_initialize_memory</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -863,7 +905,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -873,8 +915,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_int64_base_atomics.html b/sdk/3.0/docs/man/html/cl_khr_int64_base_atomics.html index 3f45ad5..32635ad 100644 --- a/sdk/3.0/docs/man/html/cl_khr_int64_base_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_int64_base_atomics.html
@@ -767,25 +767,73 @@ <h1>cl_khr_int64_base_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_int64_base_atomics - Optional extensions that implement base atomic operations on 64-bit signed and unsigned integers to locations in __global and __local memory.</p> +<p>cl_khr_int64_base_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The behavior of these extensions is defined in the SPIR-V environment and appropriate kernel language specifications.</p> +<p><code>cl_khr_<wbr>int64_<wbr>base_<wbr>atomics</code> adds built-in OpenCL functions supporting atomic +operations to be performed on 64-bit signed and unsigned integers in global +and local memory.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_int64_base_atomics">64-Bit Base Atomics</a> +section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -793,9 +841,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="cl_khr_int64_extended_atomics.html">cl_khr_int64_extended_atomics</a>, -<a href="atomicFunctions.html">Atomic Functions</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -803,10 +849,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_base_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_base_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_base_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -814,7 +861,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -824,8 +871,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_int64_extended_atomics.html b/sdk/3.0/docs/man/html/cl_khr_int64_extended_atomics.html index 95723ea..a6f4560 100644 --- a/sdk/3.0/docs/man/html/cl_khr_int64_extended_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_int64_extended_atomics.html
@@ -767,25 +767,73 @@ <h1>cl_khr_int64_extended_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_int64_extended_atomics - Optional extensions that implement extended atomic operations on 64-bit signed and unsigned integers to locations in __global and __local memory.</p> +<p>cl_khr_int64_extended_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The behavior of these extensions is defined in the SPIR-V environment and appropriate kernel language specifications.</p> +<p><code>cl_khr_<wbr>int64_<wbr>extended_<wbr>atomics</code> adds built-in OpenCL functions supporting +extended atomic operations to be performed on 64-bit signed and unsigned +integers in global and local memory.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_int64_extended_atomics">64-Bit Extended +Atomics</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -793,9 +841,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="cl_khr_int64_base_atomics.html">cl_khr_int64_base_atomics</a>, -<a href="atomicFunctions.html">Atomic Functions</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -803,10 +849,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_extended_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_extended_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_extended_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -814,7 +861,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -824,8 +871,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_integer_dot_product.html b/sdk/3.0/docs/man/html/cl_khr_integer_dot_product.html new file mode 100644 index 0000000..71de7d8 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_integer_dot_product.html
@@ -0,0 +1,987 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_integer_dot_product(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_integer_dot_product(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_integer_dot_product - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-06-23</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Kévin Petit, Arm Ltd.</p> +</li> +<li> +<p>Jeremy Kemp, Imagination Technologies</p> +</li> +<li> +<p>Ben Ashbaugh, Intel</p> +</li> +<li> +<p>Ruihao Zhang, Qualcomm</p> +</li> +<li> +<p>Stuart Brady, Arm Ltd</p> +</li> +<li> +<p>Balaji Calidas, Qualcomm</p> +</li> +<li> +<p>Ayal Zaks, Intel</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>integer_<wbr>dot_<wbr>product</code> adds support for SPIR-V instructions and OpenCL +C built-in functions to compute the dot product of vectors of integers.</p> +</div> +<div class="paragraph"> +<p>OpenCL C compilers supporting this extension will define the extension macro +<code>cl_khr_<wbr>integer_<wbr>dot_<wbr>product</code>, and may define corresponding feature macros +<code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit</code> and +<code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit_<wbr>packed</code> depending on the reported +capabilities.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_integer_dot_product">Integer Dot +Product</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_structures"><a class="anchor" href="#_new_structures"></a>New Structures</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>acceleration_<wbr>properties_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>capabilities_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>integer_<wbr>dot_<wbr>product_<wbr>capabilities_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>INPUT_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>CAPABILITIES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>8BIT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>INTEGER_<wbr>DOT_<wbr>PRODUCT_<wbr>ACCELERATION_<wbr>PROPERTIES_<wbr>4x8BIT_<wbr>PACKED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2021-06-17</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 2.0.0, 2021-06-23</p> +<div class="ulist"> +<ul> +<li> +<p>8-bit support is mandatory, added 8-bit acceleration properties.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_integer_dot_product" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_kernel_clock.html b/sdk/3.0/docs/man/html/cl_khr_kernel_clock.html new file mode 100644 index 0000000..04e53a5 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_kernel_clock.html
@@ -0,0 +1,982 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_kernel_clock(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_kernel_clock(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_kernel_clock - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><strong>This is a <em>provisional</em> extension and <strong class="purple">must</strong> be used with caution. +See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#boilerplate-provisional-header" target="_blank" rel="noopener">description</a> of provisional header files for enablement and stability details.</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-25</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Kevin Petit, Arm Ltd.<br></p> +</li> +<li> +<p>Paul Fradgley, Imagination Technologies<br></p> +</li> +<li> +<p>Jeremy Kemp, Imagination Technologies<br></p> +</li> +<li> +<p>Ben Ashbaugh, Intel<br></p> +</li> +<li> +<p>Balaji Calidas, Qualcomm Technologies, Inc.<br></p> +</li> +<li> +<p>Ruihao Zhang, Qualcomm Technologies, Inc.</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_kernel_clock</code> adds the ability for a kernel to sample the value from one +of three clocks provided by compute units.</p> +</div> +<div class="paragraph"> +<p>OpenCL C compilers supporting this extension will define the extension macro +<code>cl_khr_kernel_clock</code>, and may define corresponding feature macros +<code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>device</code>, +<code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>work_<wbr>group</code>, and +<code>__opencl_c_<wbr>kernel_<wbr>clock_<wbr>scope_<wbr>sub_<wbr>group</code> depending on the reported +capabilities.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_kernel_clock">Kernel Clock</a> section of the +OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_interactions_with_other_extensions"><a class="anchor" href="#_interactions_with_other_extensions"></a>Interactions With Other Extensions</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>On devices that implement the <code>EMBEDDED</code> profile, the <code>cles_khr_int64</code> extension +is required for the <code>clock_read_device</code>, <code>clock_read_work_group</code> and +<code>clock_read_sub_group</code> functions to be present.</p> +</div> +<div class="paragraph"> +<p>Support for sub-groups is required for the <code>clock_read_sub_group</code> and +<code>clock_read_hilo_sub_group</code> functions to be present.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>kernel_<wbr>clock_<wbr>capabilities_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>CAPABILITIES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>kernel_<wbr>clock_<wbr>capabilities_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>DEVICE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>WORK_<wbr>GROUP_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_DEVICE_<wbr>KERNEL_<wbr>CLOCK_<wbr>SCOPE_<wbr>SUB_<wbr>GROUP_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2024-03-25</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version (provisional).</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_kernel_clock" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_local_int32_base_atomics.html b/sdk/3.0/docs/man/html/cl_khr_local_int32_base_atomics.html index f085ee7..d665f61 100644 --- a/sdk/3.0/docs/man/html/cl_khr_local_int32_base_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_local_int32_base_atomics.html
@@ -767,27 +767,89 @@ <h1>cl_khr_local_int32_base_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_local_int32_base_atomics - Extension enabling base atomic operations on 32-bit integers to locations in __local memory.</p> +<p>cl_khr_local_int32_base_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to a core feature in OpenCL 1.1. -The built-in atomic function names were changed to use the <code>atomic_</code> prefix -instead of <code>atom_</code>.</p> +<p><code>cl_khr_<wbr>local_<wbr>int32_<wbr>base_<wbr>atomics</code> allows OpenCL C atomic operations to be +performed on 32-bit signed and unsigned integers in local memory.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 1.1, with the built-in atomic +function names changed to use the <strong>atomic_</strong> prefix instead of <strong>atom_</strong>.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_local_int32_base_atomics">Local 32-Bit +Base Atomics</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -795,9 +857,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_global_int32_base_atomics.html">cl_khr_global_int32_base_atomics</a>, -<a href="cl_khr_global_int32_extended_atomics.html">cl_khr_global_int32_extended_atomics</a>, -<a href="cl_khr_local_int32_extended_atomics.html">cl_khr_local_int32_extended_atomics</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -805,10 +865,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_local_int32_base_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -816,7 +877,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -826,8 +887,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_local_int32_extended_atomics.html b/sdk/3.0/docs/man/html/cl_khr_local_int32_extended_atomics.html index 7bf0318..09fcde0 100644 --- a/sdk/3.0/docs/man/html/cl_khr_local_int32_extended_atomics.html +++ b/sdk/3.0/docs/man/html/cl_khr_local_int32_extended_atomics.html
@@ -767,27 +767,91 @@ <h1>cl_khr_local_int32_extended_atomics(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_local_int32_extended_atomics - Extension enabling extended atomic operations on 32-bit integers to locations in __local memory.</p> +<p>cl_khr_local_int32_extended_atomics - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension was promoted to a core feature in OpenCL 1.1. -The built-in atomic function names were changed to use the <code>atomic_</code> prefix -instead of <code>atom_</code>.</p> +<p><code>cl_khr_<wbr>local_<wbr>int32_<wbr>extended_<wbr>atomics</code> allows OpenCL C extended atomic +operations to be performed on 32-bit signed and unsigned integers in local +memory.</p> +</div> +<div class="paragraph"> +<p>This extension became a core feature in OpenCL 1.1, with the built-in atomic +function names changed to use the <strong>atomic_</strong> prefix instead of <strong>atom_</strong>.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_local_int32_extended_atomics">Local +32-Bit Extended Atomics</a> section of the OpenCL C specification for more +information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -795,9 +859,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="cl_khr_global_int32_base_atomics.html">cl_khr_global_int32_base_atomics</a>, -<a href="cl_khr_global_int32_extended_atomics.html">cl_khr_global_int32_extended_atomics</a>, -<a href="cl_khr_local_int32_base_atomics.html">cl_khr_local_int32_base_atomics</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -805,10 +867,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_local_int32_extended_atomics" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -816,7 +879,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -826,8 +889,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_mipmap_image.html b/sdk/3.0/docs/man/html/cl_khr_mipmap_image.html index 6dea07f..9511d85 100644 --- a/sdk/3.0/docs/man/html/cl_khr_mipmap_image.html +++ b/sdk/3.0/docs/man/html/cl_khr_mipmap_image.html
@@ -767,82 +767,100 @@ <h1>cl_khr_mipmap_image(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_mipmap_image - Extension adding support for mipmaps.</p> +<p>cl_khr_mipmap_image - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_mipmap_image : enable - -#pragma OPENCL EXTENSION cl_khr_mipmap_image_writes : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension adds support for mipmaps. -This proposal is implemented as two optional extensions. -The <code>cl_khr_mipmap_image</code> extension implements support to create a mipmapped image, enqueue commands to read/write/copy/map a region of a mipmapped image and built-in functions that can be used to read a mip-mapped image in an OpenCL C program. -The <code>cl_khr_mipmap_image_writes</code> extension adds built-in functions that can be used to write a mip-mapped image in an OpenCL C program. -If the <code>cl_khr_mipmap_image_writes</code> extension is supported by the OpenCL device, the <code>cl_khr_mipmap_image</code> extension must also be supported.</p> -</div> -<div class="paragraph"> -<p>This extension enables the following functions:</p> +<p>The <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension adds the ability to create and access +mipmapped images:</p> </div> <div class="ulist"> <ul> <li> -<p><a href="get_image_num_mip_levels.html">get_image_num_mip_levels</a></p> +<p><strong>clCreateImage</strong> is extended to create mipmapped images.</p> +</li> +<li> +<p><strong>clCreateFromGLTexture</strong> is extended to create a mipmapped image from a +mipmapped GL texture.</p> +</li> +<li> +<p><strong>clEnqueueReadImage</strong>, <strong>clEnqueueWriteImage</strong>, <strong>clEnqueueCopyImage</strong>, +<strong>clEnqueueFillImage</strong>, <strong>clEnqueueCopyImageToBuffer</strong>, +<strong>clEnqueueCopyBufferToImage</strong>, and <strong>clEnqueueMapImage</strong> are +extended to operate on regions of mipmapped images.</p> +<div class="ulist"> +<ul> +<li> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#image-mipmap-access" target="_blank" rel="noopener">Specifying Mipmap Levels to Image +Operations</a> section describes how mipmap levels are encoded in +existing parameters to these commands.</p> +</li> +</ul> +</div> +</li> +<li> +<p>OpenCL C built-in functions are added to read from and query a mipmapped +image.</p> </li> </ul> </div> <div class="paragraph"> -<p>This extension enables changes to the following:</p> +<p>See the <a href="OpenCL_C.html#cl_khr_mipmap_image">Mipmapped Image Reads and +Queries</a> section of the OpenCL C specification for more information.</p> </div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clCreateImage.html">clCreateImage</a></p> -</li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> <li> -<p><a href="clEnqueueReadImage.html">clEnqueueReadImage</a></p> +<p>First assigned version.</p> </li> -<li> -<p><a href="clEnqueueWriteImage.html">clEnqueueWriteImage</a></p> -</li> -<li> -<p><a href="clEnqueueMapImage.html">clEnqueueMapImage</a></p> -</li> -<li> -<p><a href="clEnqueueCopyImage.html">clEnqueueCopyImage</a></p> -</li> -<li> -<p><a href="clEnqueueCopyImageToBuffer.html">clEnqueueCopyImageToBuffer</a></p> -</li> -<li> -<p><a href="clEnqueueCopyBufferToImage.html">clEnqueueCopyBufferToImage</a></p> -</li> -<li> -<p><a href="clCreateSamplerWithProperties.html">clCreateSamplerWithProperties</a></p> -</li> -<li> -<p><a href="imageReadFunctions.html">imageReadFunctions</a></p> -</li> -<li> -<p><a href="imageWriteFunctions.html">imageWriteFunctions</a></p> -</li> -<li> -<p><a href="cl_khr_gl_sharing.html">cl_khr_gl_sharing</a></p> -</li> -<li> -<p><a href="clCreateFromGLTexture.html">clCreateFromGLTexture</a></p> +</ul> +</div> </li> </ul> </div> @@ -852,8 +870,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="get_image_num_mip_levels.html">get_image_num_mip_levels</a>.txt</p> +<p>No cross-references are available</p> </div> </div> </div> @@ -861,10 +878,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -872,7 +890,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -882,8 +900,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_mipmap_image_writes.html b/sdk/3.0/docs/man/html/cl_khr_mipmap_image_writes.html new file mode 100644 index 0000000..e2bf14a --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_mipmap_image_writes.html
@@ -0,0 +1,888 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_mipmap_image_writes(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_mipmap_image_writes(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_mipmap_image_writes - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#cl_khr_mipmap_image">[cl_khr_mipmap_image]</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension adds OpenCL C built-in functions +to write to a mipmapped image.</p> +</div> +<div class="paragraph"> +<p>If <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> is supported by the OpenCL device, the +<code>cl_khr_<wbr>mipmap_<wbr>image</code> extension must also be supported.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_mipmap_image_writes">Mipmapped Image +Writes</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image_writes" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_pci_bus_info.html b/sdk/3.0/docs/man/html/cl_khr_pci_bus_info.html new file mode 100644 index 0000000..fa757c3 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_pci_bus_info.html
@@ -0,0 +1,920 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_pci_bus_info(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_pci_bus_info(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_pci_bus_info - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-04-19</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_khr_<wbr>pci_<wbr>bus_<wbr>info</code> extension adds a new query to obtain PCI bus +information about an OpenCL device.</p> +</div> +<div class="paragraph"> +<p>Not all OpenCL devices have PCI bus information, either due to the device +not being connected to the system through a PCI interface or due to platform +specific restrictions and policies. +Thus this extension is only expected to be supported by OpenCL devices which +can provide the information.</p> +</div> +<div class="paragraph"> +<p>As a consequence, applications should always check for the presence of the +extension string for each individual OpenCL device for which they intend to +issue the new query for and should not have any assumptions about the +availability of the extension on any given platform.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>pci_<wbr>bus_<wbr>info_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>PCI_<wbr>BUS_<wbr>INFO_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2021-04-19</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_pci_bus_info" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_priority_hints.html b/sdk/3.0/docs/man/html/cl_khr_priority_hints.html index 58382d1..c74c7dc 100644 --- a/sdk/3.0/docs/man/html/cl_khr_priority_hints.html +++ b/sdk/3.0/docs/man/html/cl_khr_priority_hints.html
@@ -767,29 +767,125 @@ <h1>cl_khr_priority_hints(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_priority_hints - Extension adding priority hints for OpenCL</p> +<p>cl_khr_priority_hints - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_priority_hints : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension adds priority hints for OpenCL, but does not specify the scheduling behavior or minimum guarantees. -It is expected that the the user guides associated with each implementation which supports this extension describe the scheduling behavior guaranteed.</p> +<p>The <code>cl_khr_<wbr>priority_<wbr>hints</code> extension adds priority hints for OpenCL, but +does not specify the scheduling behavior or minimum guarantees. +It is expected that the the user guides associated with each implementation +which supports this extension will describe the scheduling behavior +guarantees.</p> </div> <div class="paragraph"> -<p>If this extension is supported by an implementation, the string cl_khr_priority_hints will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in table 4.1 (see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>).</p> +<p>Note that the priority hint is orthogonal to functionality defined in the +<code>cl_khr_<wbr>throttle_<wbr>hints</code> extension. +For example, a task may have high priority (<code>CL_QUEUE_<wbr>PRIORITY_<wbr>HIGH_<wbr>KHR</code>) +but should at the same time be executed at an optimized throttle setting +(<code>CL_QUEUE_<wbr>THROTTLE_<wbr>LOW_<wbr>KHR</code>).</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_queue_<wbr>priority_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_queue_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_QUEUE_<wbr>PRIORITY_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_queue_<wbr>priority_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_QUEUE_<wbr>PRIORITY_<wbr>HIGH_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_QUEUE_<wbr>PRIORITY_<wbr>MED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_QUEUE_<wbr>PRIORITY_<wbr>LOW_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -797,7 +893,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clGetPlatformInfo.html">clGetPlatformInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -805,10 +901,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_priority_hints" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_priority_hints" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_priority_hints</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -816,7 +913,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -826,8 +923,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_select_fprounding_mode.html b/sdk/3.0/docs/man/html/cl_khr_select_fprounding_mode.html new file mode 100644 index 0000000..f23d177 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_select_fprounding_mode.html
@@ -0,0 +1,908 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_select_fprounding_mode(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_select_fprounding_mode(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_select_fprounding_mode - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Obsoleted</em> by +OpenCL 1.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>select_<wbr>fprounding_<wbr>mode</code> allows an application to specify the +rounding mode for an instruction or group of instructions in the OpenCL C +program source.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +This extension was deprecated in OpenCL 1.1, and its use is not +recommended. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_select_fprounding_mode">Select +Floating-Point Rounding Mode</a> section of the OpenCL C specification for more +information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_select_fprounding_mode" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_semaphore.html b/sdk/3.0/docs/man/html/cl_khr_semaphore.html new file mode 100644 index 0000000..3a37948 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_semaphore.html
@@ -0,0 +1,1307 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_semaphore(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_semaphore(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_semaphore - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code><a href="#versions-1-2">OpenCL 1.2</a></code><br></p> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2024-03-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Ajit Hakke-Patil, NVIDIA</p> +</li> +<li> +<p>Amit Rao, NVIDIA</p> +</li> +<li> +<p>Balaji Calidas, QUALCOMM</p> +</li> +<li> +<p>Ben Ashbaugh, INTEL</p> +</li> +<li> +<p>Carsten Rohde, NVIDIA</p> +</li> +<li> +<p>Christoph Kubisch, NVIDIA</p> +</li> +<li> +<p>Debalina Bhattacharjee, NVIDIA</p> +</li> +<li> +<p>Faith Ekstrand, INTEL</p> +</li> +<li> +<p>Gorazd Sumkovski, ARM</p> +</li> +<li> +<p>James Jones, NVIDIA</p> +</li> +<li> +<p>Jeremy Kemp, IMAGINATION</p> +</li> +<li> +<p>Joshua Kelly, QUALCOMM</p> +</li> +<li> +<p>Karthik Raghavan Ravi, NVIDIA</p> +</li> +<li> +<p>Kedar Patil, NVIDIA</p> +</li> +<li> +<p>Kevin Petit, ARM</p> +</li> +<li> +<p>Nikhil Joshi, NVIDIA</p> +</li> +<li> +<p>Sharan Ashwathnarayan, NVIDIA</p> +</li> +<li> +<p>Vivek Kini, NVIDIA</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>OpenCL provides <code>cl_event</code> as a primary mechanism of synchronization +between host and device as well as across devices. +While events can be waited on or can be passed as dependencies across +work-submissions, they suffer from following limitations:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>They are immutable.</p> +</li> +<li> +<p>They are not reusable.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p><code>cl_khr_<wbr>semaphore</code> introduces a new type of synchronization object to +represent <em>semaphores</em> that can be reused, waited on, and signaled multiple +times by OpenCL work-submissions.</p> +</div> +<div class="paragraph"> +<p>In particular, this extension defines:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>a new type called <code>cl_semaphore_<wbr>khr</code> to represent the semaphore +objects.</p> +</li> +<li> +<p>A new type called <code>cl_semaphore_<wbr>properties_<wbr>khr</code> to specify metadata +associated with semaphores.</p> +</li> +<li> +<p>Functions to create, retain, and release semaphores.</p> +</li> +<li> +<p>Functions to wait on and signal semaphore objects.</p> +</li> +<li> +<p>Functions to query the properties of semaphore objects.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clCreateSemaphoreWithPropertiesKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueWaitSemaphoresKHR</strong></p> +</li> +<li> +<p><strong>clEnqueueSignalSemaphoresKHR</strong></p> +</li> +<li> +<p><strong>clGetSemaphoreInfoKHR</strong></p> +</li> +<li> +<p><strong>clReleaseSemaphoreKHR</strong></p> +</li> +<li> +<p><strong>clRetainSemaphoreKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_semaphore_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_semaphore_<wbr>properties_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_semaphore_<wbr>info_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_semaphore_<wbr>type_<wbr>khr</code></p> +</li> +<li> +<p><code>cl_semaphore_<wbr>payload_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_platform_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_PLATFORM_<wbr>SEMAPHORE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>SEMAPHORE_<wbr>TYPES_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_semaphore_<wbr>type_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>TYPE_<wbr>BINARY_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_semaphore_<wbr>info_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>REFERENCE_<wbr>COUNT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>PROPERTIES_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>PAYLOAD_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_semaphore_<wbr>info_<wbr>khr</code> or <code>cl_semaphore_<wbr>properties_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_SEMAPHORE_<wbr>TYPE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>END_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_command_<wbr>type</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_COMMAND_<wbr>SEMAPHORE_<wbr>WAIT_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_COMMAND_<wbr>SEMAPHORE_<wbr>SIGNAL_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error Codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_INVALID_<wbr>SEMAPHORE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="cl_khr_semaphore-Sample-Code"><a class="anchor" href="#cl_khr_semaphore-Sample-Code"></a>Sample Code</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_example_for_semaphore_creation_in_a_single_device_context"><a class="anchor" href="#_example_for_semaphore_creation_in_a_single_device_context"></a>Example for Semaphore Creation in a Single Device Context</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with just first device +context = clCreateContext(..., 1, devices, ...); + +// Create clSema of type cl_semaphore_khr usable on single device in the context + +cl_semaphore_properties_khr sema_props[] = + {(cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_BINARY_KHR, + 0}; + +int errcode_ret = 0; + +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_semaphore_creation_for_a_single_device_in_a_multi_device_context"><a class="anchor" href="#_example_for_semaphore_creation_for_a_single_device_in_a_multi_device_context"></a>Example for Semaphore Creation for a Single Device in a Multi-Device Context</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// Get cl_devices of the platform. +clGetDeviceIDs(..., &devices, &deviceCount); + +// Create cl_context with first two devices +clCreateContext(..., 2, devices, ...); + +// Create clSema of type cl_semaphore_khr usable only on device 0 +cl_semaphore_properties_khr sema_props[] = { + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_TYPE_BINARY_KHR, + (cl_semaphore_properties_khr)CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR, + (cl_semaphore_properties_khr)devices[0], + CL_SEMAPHORE_DEVICE_HANDLE_LIST_END_KHR, + 0 +}; + +int errcode_ret = 0; + +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_synchronization_using_wait_and_signal"><a class="anchor" href="#_example_for_synchronization_using_wait_and_signal"></a>Example for Synchronization Using Wait and Signal</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// clSema is created using clCreateSemaphoreWithPropertiesKHR +// using one of the examples for semaphore creation. + +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret); + +// Start the main loop + +while (true) { + // (not shown) Signal the semaphore from other work + + // Wait for the semaphore in OpenCL + // by calling clEnqueueWaitSemaphoresKHR on 'clSema' + clEnqueueWaitSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel that accesses extMem + clEnqueueNDRangeKernel(command_queue, ...); + + // Signal the semaphore in OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // (not shown) Launch other work that waits on 'clSema' +}</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_example_for_clgetsemaphoreinfokhr"><a class="anchor" href="#_example_for_clgetsemaphoreinfokhr"></a>Example for <strong>clGetSemaphoreInfoKHR</strong></h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code>// clSema is created using clCreateSemaphoreWithPropertiesKHR +// using one of the examples for semaphore creation. + +cl_semaphore_khr clSema = clCreateSemaphoreWithPropertiesKHR(context, + sema_props, + &errcode_ret); + +// Start the main rendering loop + +while (true) { + // (not shown) Signal the semaphore from other work + + // Wait for the semaphore in OpenCL, by calling clEnqueueWaitSemaphoresKHR on 'clSema' + clEnqueueWaitSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Launch kernel in OpenCL + clEnqueueNDRangeKernel(command_queue, ...); + + // Signal the semaphore in OpenCL + clEnqueueSignalSemaphoresKHR(/*command_queue*/ command_queue, + /*num_sema_objects*/ 1, + /*sema_objects*/ &clSema, + /*sema_payload_list*/ NULL, + /*num_events_in_wait_list*/ 0, + /*event_wait_list*/ NULL, + /*event*/ NULL); + + // Query type of clSema + clGetSemaphoreInfoKHR(/*sema_object*/ clSema, + /*param_name*/ CL_SEMAPHORE_TYPE_KHR, + /*param_value_size*/ sizeof(cl_semaphore_type_khr), + /*param_value*/ &clSemaType, + /*param_value_ret_size*/ &clSemaTypeSize); + + if (clSemaType == CL_SEMAPHORE_TYPE_BINARY_KHR) { + // Do something + } + else { + // Do something else + } + // (not shown) Launch other work that waits on 'clSema' +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 0.9.0, 2021-09-10</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 0.9.1, 2023-08-01</p> +<div class="ulist"> +<ul> +<li> +<p>Changed device handle list enum to the semaphore-specific +<code>CL_SEMAPHORE_<wbr>DEVICE_<wbr>HANDLE_<wbr>LIST_<wbr>KHR</code> (provisional).</p> +</li> +</ul> +</div> +</li> +<li> +<p>Revision 1.0.0, 2024-03-15</p> +<div class="ulist"> +<ul> +<li> +<p>First non-provisional version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_spir.html b/sdk/3.0/docs/man/html/cl_khr_spir.html index 1b60e6a..ea12d63 100644 --- a/sdk/3.0/docs/man/html/cl_khr_spir.html +++ b/sdk/3.0/docs/man/html/cl_khr_spir.html
@@ -767,46 +767,128 @@ <h1>cl_khr_spir(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_spir - Extension adding support to create an OpenCL program object from a Standard Portable Intermediate Representation (SPIR) instance.</p> +<p>cl_khr_spir - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_spir : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Obsoleted</em> by +<code><a href="#cl_khr_il_program">[cl_khr_il_program]</a></code> +extension</p> +<div class="ulist"> +<ul> +<li> +<p>Which in turn was <em>promoted</em> to +OpenCL 2.1</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension adds support to create an OpenCL program object from a Standard Portable Intermediate Representation (SPIR) instance. -SPIR is a vendor neutral non-source representation for OpenCL C programs that has since been superceded by the SPIR-V standard.</p> +<p><code>cl_khr_<wbr>spir</code> adds the ability to create an OpenCL program object from a +Standard Portable Intermediate Representation (SPIR) instance. +A SPIR instance is a vendor-neutral non-source representation for OpenCL C +programs.</p> </div> <div class="paragraph"> -<p><a href="clCreateProgramWithBinary.html">clCreateProgramWithBinary</a> can be used to load a SPIR binary. -Once a program object has been created from a SPIR binary, -<a href="clBuildProgram.html">clBuildProgram</a> can be called to build a program executable or -<a href="clCompileProgram.html">clCompileProgram</a> can be called to compile the SPIR binary.</p> +<p>See the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#spir-compilation-options" target="_blank" rel="noopener">SPIR Compilation Options</a> for +information on compiling SPIR binaries.</p> </div> <div class="paragraph"> -<p>This extension adds changes to the following:</p> +<p><code>cl_khr_<wbr>spir</code> has been superseded by the SPIR-V intermediate representation, +which is supported by the <code>cl_khr_<wbr>il_<wbr>program</code> extension, and is a core +feature in OpenCL 2.1.</p> </div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clGetDeviceInfo.html">clGetDeviceInfo</a></p> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>SPIR_<wbr>VERSIONS</code></p> +</li> +</ul> +</div> </li> <li> -<p><a href="clGetProgramBuildInfo.html">clGetProgramBuildInfo</a></p> -</li> +<p><code>cl_program_<wbr>binary_<wbr>type</code></p> +<div class="ulist"> +<ul> <li> -<p><a href="clGetKernelArgInfo.html">clGetKernelArgInfo</a></p> +<p><code>CL_PROGRAM_<wbr>BINARY_<wbr>TYPE_<wbr>INTERMEDIATE</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> </li> </ul> </div> @@ -816,13 +898,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clCreateProgramWithBinary.html">clCreateProgramWithBinary</a>, -<a href="clBuildProgram.html">clBuildProgram</a>, -<a href="clCompileProgram.html">clCompileProgram</a>, -<a href="clGetDeviceInfo.html">clGetDeviceInfo</a>, -<a href="clGetProgramBuildInfo.html">clGetProgramBuildInfo</a>, -<a href="clGetKernelArgInfo.html">clGetKernelArgInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -830,10 +906,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_spir" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_spir" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_spir</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -841,7 +918,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -851,8 +928,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_spirv_extended_debug_info.html b/sdk/3.0/docs/man/html/cl_khr_spirv_extended_debug_info.html new file mode 100644 index 0000000..86ab8a7 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_spirv_extended_debug_info.html
@@ -0,0 +1,881 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_spirv_extended_debug_info(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_spirv_extended_debug_info(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_spirv_extended_debug_info - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_spirv_extended_debug_info</code> allows use of the SPIR-V +<code>OpenCL.DebugInfo.100</code> extended instruction set.</p> +</div> +<div class="paragraph"> +<p>See the +<a href="OpenCL_Env.html#_cl_khr_spirv_extended_debug_info">cl_khr_spirv_extended_debug_info</a> +section of the OpenCL SPIR-V Environment specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_spirv_extended_debug_info" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_spirv_linkonce_odr.html b/sdk/3.0/docs/man/html/cl_khr_spirv_linkonce_odr.html new file mode 100644 index 0000000..5029e19 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_spirv_linkonce_odr.html
@@ -0,0 +1,881 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_spirv_linkonce_odr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_spirv_linkonce_odr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_spirv_linkonce_odr - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_spirv_linkonce_odr</code> allows use of the SPIR-V extension +<code>SPV_KHR_linkonce_odr</code>.</p> +</div> +<div class="paragraph"> +<p>See the +<a href="OpenCL_Env.html#_cl_khr_spirv_linkonce_odr">cl_khr_spirv_linkonce_odr</a> +section of the OpenCL SPIR-V Environment specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_spirv_linkonce_odr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_spirv_no_integer_wrap_decoration.html b/sdk/3.0/docs/man/html/cl_khr_spirv_no_integer_wrap_decoration.html new file mode 100644 index 0000000..3b08185 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_spirv_no_integer_wrap_decoration.html
@@ -0,0 +1,882 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_spirv_no_integer_wrap_decoration(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_spirv_no_integer_wrap_decoration(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_spirv_no_integer_wrap_decoration - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_spirv_no_integer_wrap_decoration</code> allows use of the SPIR-V extension +<code>SPV_KHR_no_integer_wrap_decoration</code>, which adds new decorations to indicate +that a given instruction does not cause integer wrapping to occur.</p> +</div> +<div class="paragraph"> +<p>See the +<a href="OpenCL_Env.html#_cl_khr_spirv_no_integer_wrap_decoration">cl_khr_spirv_no_integer_wrap_decoration</a> +section of the OpenCL SPIR-V Environment specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_spirv_no_integer_wrap_decoration" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_srgb_image_writes.html b/sdk/3.0/docs/man/html/cl_khr_srgb_image_writes.html index cd42b3b..ce788f1 100644 --- a/sdk/3.0/docs/man/html/cl_khr_srgb_image_writes.html +++ b/sdk/3.0/docs/man/html/cl_khr_srgb_image_writes.html
@@ -767,23 +767,78 @@ <h1>cl_khr_srgb_image_writes(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_srgb_image_writes - Extension allowing writes to sRGB images from a kernel.</p> +<p>cl_khr_srgb_image_writes - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extensions adds changes to the following:</p> +<p><code>cl_khr_<wbr>srgb_<wbr>image_<wbr>writes</code> enables OpenCL C kernels to write to sRGB images +using the <strong>write_imagef</strong> built-in function. +The sRGB image formats that may be written to will be returned by +<strong>clGetSupportedImageFormats</strong>.</p> </div> +<div class="paragraph"> +<p>When the image is an sRGB image, the <strong>write_imagef</strong> built-in function will +perform the linear to sRGB conversion. +Only the R, G, and B components are converted from linear to sRGB; the A +component is written as-is.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_srgb_image_writes">sRGB Image Write +Functions</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="imageWriteFunctions.html">imageWriteFunctions</a></p> -</li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> <li> -<p><a href="clGetSupportedImageFormats.html">clGetSupportedImageFormats</a></p> +<p>First assigned version.</p> +</li> +</ul> +</div> </li> </ul> </div> @@ -793,27 +848,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="EXTENSION.html">EXTENSION</a>, -<a href="clCreateProgramWithBinary.html">clCreateProgramWithBinary</a>, -<a href="clBuildProgram.html">clBuildProgram</a>, -<a href="clCompileProgram.html">clCompileProgram</a>,</p> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_description_2"><a class="anchor" href="#_description_2"></a>Description</h2> -<div class="sectionbody"> -<div class="paragraph"> -<p>This extension enables kernels to write to sRGB images using the -<a href="imageWriteFunctions.html">imageWriteFunctions</a>[write_imagef] built-in function. -The sRGB image formats that may be written to will be returned by -<a href="clGetSupportedImageFormats.html">clGetSupportedImageFormats</a>.</p> -</div> -<div class="paragraph"> -<p>When the image is an sRGB image, the <a href="imageWriteFunctions.html">imageWriteFunctions</a>[write_imagef] -built-in function will perform the linear to sRGB conversion. Only the R, G, -and B components are converted from linear to sRGB; the A component is -written as-is.</p> +<p>No cross-references are available</p> </div> </div> </div> @@ -821,10 +856,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_srgb_image_writes" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_srgb_image_writes" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_srgb_image_writes</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -832,7 +868,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -842,8 +878,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_ballot.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_ballot.html new file mode 100644 index 0000000..b4be3fa --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_ballot.html
@@ -0,0 +1,909 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_ballot(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_ballot(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_ballot - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>ballot</code> adds built-in OpenCL C functions with the ability +to collect and operate on ballots from work items in a sub-group.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_ballot">Sub-Group Ballots</a> +section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_ballot: + +gentype sub_group_non_uniform_broadcast( gentype value, uint index ) +gentype sub_group_broadcast_first( gentype value ) + +uint4 sub_group_ballot( int predicate ) +int sub_group_inverse_ballot( uint4 value ) +int sub_group_ballot_bit_extract( uint4 value, uint index ) +uint sub_group_ballot_bit_count( uint4 value ) +uint sub_group_ballot_inclusive_scan( uint4 value ) +uint sub_group_ballot_exclusive_scan( uint4 value ) +uint sub_group_ballot_find_lsb( uint4 value ) +uint sub_group_ballot_find_msb( uint4 value ) + +uint4 get_sub_group_eq_mask() +uint4 get_sub_group_ge_mask() +uint4 get_sub_group_gt_mask() +uint4 get_sub_group_le_mask() +uint4 get_sub_group_lt_mask()</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_ballot" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_clustered_reduce.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_clustered_reduce.html new file mode 100644 index 0000000..43fb15c --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_clustered_reduce.html
@@ -0,0 +1,903 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_clustered_reduce(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_clustered_reduce(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_clustered_reduce - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>clustered_<wbr>reduce</code> adds built-in OpenCL functions for +clustered reductions that operate on a subset of work items in the +sub-group.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_clustered_reduce">Clustered +Reductions</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_clustered_reduce: + +gentype sub_group_clustered_reduce_add( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_mul( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_min( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_max( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_and( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_or( gentype value, uint clustersize ) +gentype sub_group_clustered_reduce_xor( gentype value, uint clustersize ) +int sub_group_clustered_reduce_logical_and( int predicate, uint clustersize ) +int sub_group_clustered_reduce_logical_or( int predicate, uint clustersize ) +int sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_clustered_reduce" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_extended_types.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_extended_types.html new file mode 100644 index 0000000..1b7210b --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_extended_types.html
@@ -0,0 +1,907 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_extended_types(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_extended_types(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_extended_types - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>extended_<wbr>types</code> adds additional supported OpenCL C data +types to the existing sub-group broadcast, scan, and reduction functions.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_extended_types">Sub-Group +Extended Types</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_extended_types: + +// Note: Existing functions supporting additional data types. + +gentype sub_group_broadcast( gentype value, uint index ) + +gentype sub_group_reduce_add( gentype value ) +gentype sub_group_reduce_min( gentype value ) +gentype sub_group_reduce_max( gentype value ) + +gentype sub_group_scan_inclusive_add( gentype value ) +gentype sub_group_scan_inclusive_min( gentype value ) +gentype sub_group_scan_inclusive_max( gentype value ) + +gentype sub_group_scan_exclusive_add( gentype value ) +gentype sub_group_scan_exclusive_min( gentype value ) +gentype sub_group_scan_exclusive_max( gentype value )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_extended_types" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_named_barrier.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_named_barrier.html new file mode 100644 index 0000000..8d4f382 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_named_barrier.html
@@ -0,0 +1,900 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_named_barrier(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_named_barrier(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_named_barrier - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>named_<wbr>barrier</code> adds barrier operations that cover subsets +of an OpenCL work-group. +Only the OpenCL API changes are described in this section. +Please refer to the SPIR-V specification for information about using +sub-group named barriers in the SPIR-V intermediate representation, and to +the OpenCL C++ specification for descriptions of the sub-group named +barrier built-in functions in the OpenCL C++ kernel language.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>MAX_<wbr>NAMED_<wbr>BARRIER_<wbr>COUNT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_named_barrier" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_arithmetic.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_arithmetic.html new file mode 100644 index 0000000..cf3de04 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_arithmetic.html
@@ -0,0 +1,927 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_non_uniform_arithmetic(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_non_uniform_arithmetic(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_non_uniform_arithmetic - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>non_<wbr>uniform_<wbr>arithmetic</code> adds built-in OpenCL C functions +providing the ability to use some sub-group functions within non-uniform +flow control, including additional scan and reduction operators.</p> +</div> +<div class="paragraph"> +<p>See the +<a href="OpenCL_C.html#cl_khr_subgroup_non_uniform_arithmetic">Built-in +Non-Uniform Arithmetic Functions for Sub-Groups</a> section of the OpenCL C +specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="extended-sub-groups-summariy"><a class="anchor" href="#extended-sub-groups-summariy"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_non_uniform_arithmetic: + +gentype sub_group_non_uniform_reduce_add( gentype value ) +gentype sub_group_non_uniform_reduce_mul( gentype value ) +gentype sub_group_non_uniform_reduce_min( gentype value ) +gentype sub_group_non_uniform_reduce_max( gentype value ) +gentype sub_group_non_uniform_reduce_and( gentype value ) +gentype sub_group_non_uniform_reduce_or( gentype value ) +gentype sub_group_non_uniform_reduce_xor( gentype value ) +int sub_group_non_uniform_reduce_logical_and( int predicate ) +int sub_group_non_uniform_reduce_logical_or( int predicate ) +int sub_group_non_uniform_reduce_logical_xor( int predicate ) + +gentype sub_group_non_uniform_scan_inclusive_add( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_mul( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_min( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_max( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_and( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_or( gentype value ) +gentype sub_group_non_uniform_scan_inclusive_xor( gentype value ) +int sub_group_non_uniform_scan_inclusive_logical_and( int predicate ) +int sub_group_non_uniform_scan_inclusive_logical_or( int predicate ) +int sub_group_non_uniform_scan_inclusive_logical_xor( int predicate ) + +gentype sub_group_non_uniform_scan_exclusive_add( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_mul( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_min( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_max( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_and( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_or( gentype value ) +gentype sub_group_non_uniform_scan_exclusive_xor( gentype value ) +int sub_group_non_uniform_scan_exclusive_logical_and( int predicate ) +int sub_group_non_uniform_scan_exclusive_logical_or( int predicate ) +int sub_group_non_uniform_scan_exclusive_logical_xor( int predicate )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_arithmetic" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_vote.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_vote.html new file mode 100644 index 0000000..aa34f75 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_non_uniform_vote.html
@@ -0,0 +1,905 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_non_uniform_vote(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_non_uniform_vote(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_non_uniform_vote - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> + +</div> +</div> +<div class="sect1"> +<h2 id="extended-sub-groups"><a class="anchor" href="#extended-sub-groups"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>non_<wbr>uniform_<wbr>vote</code> adds built-in OpenCL C functions with the +ability to elect a single work item from a sub-group to perform a task and +to hold votes among work items in a sub-group.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_non_uniform_vote">Built-in +Non-Uniform Vote and Election Functions for Sub-Groups</a> section of the +OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_non_uniform_vote: + +int sub_group_elect() + +int sub_group_non_uniform_all( int predicate ) +int sub_group_non_uniform_any( int predicate ) +int sub_group_non_uniform_all_equal( gentype value )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_vote" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_rotate.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_rotate.html new file mode 100644 index 0000000..3996214 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_rotate.html
@@ -0,0 +1,906 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_rotate(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_rotate(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_rotate - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2022-04-22</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Kévin Petit, Arm Ltd.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel</p> +</li> +<li> +<p>Ruihao Zhang, Qualcomm</p> +</li> +<li> +<p>Sven van Haastregt, Arm Ltd.</p> +</li> +<li> +<p>Anastasia Stulova, Arm Ltd.</p> +</li> +<li> +<p>Stuart Brady, Arm Ltd.</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>rotate</code> adds built-in OpenCL C functions with support for a +new sub-group data exchange operation that makes it possible to rotate +values through the work items in a sub-group.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_rotate">Sub-Group Rotation</a> +section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2022-04-22</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_rotate" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle.html new file mode 100644 index 0000000..ac1a4e6 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle.html
@@ -0,0 +1,894 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_shuffle(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_shuffle(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_shuffle - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>shuffle</code> adds built-in OpenCL C functions providing +additional ways to exchange data among work items in a sub-group.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_shuffle">General Purpose +Shuffles</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_shuffle: + +gentype sub_group_shuffle( gentype value, uint index ) +gentype sub_group_shuffle_xor( gentype value, uint mask )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle_relative.html b/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle_relative.html new file mode 100644 index 0000000..49c4455 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_subgroup_shuffle_relative.html
@@ -0,0 +1,895 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_subgroup_shuffle_relative(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_subgroup_shuffle_relative(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_subgroup_shuffle_relative - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-12-15</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>subgroup_<wbr>shuffle_<wbr>relative</code> adds built-in OpenCL C functions +providing specialized ways to exchange data among work items in a sub-group +that may perform better on some implementations.</p> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroup_shuffle_relative">Relative +Shuffles</a> section of the OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_summary_of_new_opencl_c_functions"><a class="anchor" href="#_summary_of_new_opencl_c_functions"></a>Summary of New OpenCL C Functions</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">// These functions are available to devices supporting +// cl_khr_subgroup_shuffle_relative: + +gentype sub_group_shuffle_up( gentype value, uint delta ) +gentype sub_group_shuffle_down( gentype value, uint delta )</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-12-15</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle_relative" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_subgroups.html b/sdk/3.0/docs/man/html/cl_khr_subgroups.html index 25eb4dc..2bde394 100644 --- a/sdk/3.0/docs/man/html/cl_khr_subgroups.html +++ b/sdk/3.0/docs/man/html/cl_khr_subgroups.html
@@ -767,43 +767,172 @@ <h1>cl_khr_subgroups(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_subgroups - Deprecated extension</p> +<p>cl_khr_subgroups - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_subgroups : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_deprecation_state"><a class="anchor" href="#_deprecation_state"></a>Deprecation State</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>Promoted</em> to +OpenCL 2.1</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The OpenCL 2.0 KHR extension <code>cl_khr_subgroups</code> has been deprecated. -The feature is now core.</p> +<p><code>cl_khr_<wbr>subgroups</code> adds support for implementation-controlled groups of work +items, known as sub-groups. +Sub-groups behave similarly to work-groups and have their own sets of +built-ins and synchronization primitives. +Sub-groups within a work-group are independent, may make forward progress +with respect to each other, and may map to optimized hardware structures +where that makes sense.</p> +</div> +<div class="paragraph"> +<p>Sub-groups were promoted to a core feature in OpenCL 2.1. +However, note that:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>The sub-group OpenCL C built-in functions described by this extension +must still be accessed as an OpenCL C extension in OpenCL 2.1.</p> +</li> +<li> +<p>Sub-group independent forward progress is an optional device property in +OpenCL 2.1, see <code>CL_DEVICE_<wbr>SUB_<wbr>GROUP_<wbr>INDEPENDENT_<wbr>FORWARD_<wbr>PROGRESS</code>.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>See the <a href="OpenCL_C.html#cl_khr_subgroups">Sub-Groups</a> section of the +OpenCL C specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clGetKernelSubGroupInfoKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_kernel_<wbr>sub_<wbr>group_<wbr>info</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_kernel_<wbr>sub_<wbr>group_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_KERNEL_<wbr>MAX_<wbr>SUB_<wbr>GROUP_<wbr>SIZE_<wbr>FOR_<wbr>NDRANGE_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_KERNEL_<wbr>SUB_<wbr>GROUP_<wbr>COUNT_<wbr>FOR_<wbr>NDRANGE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> <div class="sect1"> <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> - +<div class="paragraph"> +<p>No cross-references are available</p> +</div> </div> </div> <div class="sect1"> <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroups" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroups" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroups</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -811,7 +940,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -821,8 +950,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_suggested_local_work_size.html b/sdk/3.0/docs/man/html/cl_khr_suggested_local_work_size.html new file mode 100644 index 0000000..af427c0 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_suggested_local_work_size.html
@@ -0,0 +1,899 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_suggested_local_work_size(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_suggested_local_work_size(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_suggested_local_work_size - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2021-04-22</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>suggested_<wbr>local_<wbr>work_<wbr>size</code> adds the ability to query a suggested +local work-group size for a kernel running on a device for a specified +global work size and global work offset. +The suggested local work-group size will match the work-group size that +would be chosen if the kernel were enqueued with the specified global work +size and global work offset and a <code>NULL</code> local work size.</p> +</div> +<div class="paragraph"> +<p>By using the suggested local work-group size query an application has +greater insight into the local work-group size chosen by the OpenCL +implementation, and the OpenCL implementation need not re-compute the local +work-group size if the same kernel is enqueued multiple times with the same +parameters.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><strong>clGetKernelSuggestedLocalWorkSizeKHR</strong></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2021-04-22</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_suggested_local_work_size" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_khr_terminate_context.html b/sdk/3.0/docs/man/html/cl_khr_terminate_context.html index eb75fcc..98fc9d1 100644 --- a/sdk/3.0/docs/man/html/cl_khr_terminate_context.html +++ b/sdk/3.0/docs/man/html/cl_khr_terminate_context.html
@@ -767,56 +767,159 @@ <h1>cl_khr_terminate_context(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_terminate_context - Extension allowing an API to release a context.</p> +<p>cl_khr_terminate_context - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_terminate_context : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> +<p>The <code>cl_khr_<wbr>terminate_<wbr>context</code> extension provides a new query to check +whether a device can terminate an OpenCL context, and adds an API to +terminate a context.</p> +</div> +<div class="paragraph"> <p>Today, OpenCL provides an API to release a context. -This operation is done only after all queues, memory object, programs and kernels are released, which in turn might wait for all ongoing operations to complete. -However, there are cases in which a fast release is required, or release operation cannot be done, as commands are stuck in mid execution. -An example of the first case can be program termination due to exception, or quick shutdown due to low power. -Examples of the second case are when a kernel is running too long, or gets stuck, or it may result from user action which makes the results of the computation unnecessary.</p> +This operation is done only after all queues, memory object, programs and +kernels are released, which in turn might wait for all ongoing operations to +complete. +However, there are cases in which a fast release is required, or release +operation cannot be done, as commands are stuck in mid execution. +An example of the first case can be program termination due to exception, or +quick shutdown due to low power. +Examples of the second case are when a kernel is running too long, or gets +stuck, or it may result from user action which makes the results of the +computation unnecessary.</p> </div> <div class="paragraph"> -<p>In many cases, the driver or the device is capable of speeding up the closure of ongoing operations when the results are no longer required in a much more expedient manner than waiting for all previously enqueued operations to finish.</p> +<p>In many cases, the driver or the device is capable of speeding up the +closure of ongoing operations when the results are no longer required in a +much more expedient manner than waiting for all previously enqueued +operations to finish.</p> </div> -<div class="paragraph"> -<p>This extension implements a new query to check whether a device can terminate an OpenCL context and adds an API to terminate a context.</p> </div> -<div class="paragraph"> -<p>This extensions enables the following function:</p> </div> +<div class="sect1"> +<h2 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clTerminateContextKHR.html">clTerminateContextKHR</a></p> +<p><strong>clTerminateContextKHR</strong></p> </li> </ul> </div> -<div class="paragraph"> -<p>This extensions adds changes to the following:</p> </div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> <div class="ulist"> <ul> <li> -<p><a href="clGetDeviceInfo.html">clGetDeviceInfo</a></p> +<p><code>cl_device_<wbr>terminate_<wbr>capability_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_device_<wbr>info</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>KHR</code></p> +</li> +</ul> +</div> </li> <li> -<p><a href="clCreateContext.html">clCreateContext</a></p> +<p><code>cl_context_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>TERMINATE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_device_<wbr>terminate_<wbr>capability_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_DEVICE_<wbr>TERMINATE_<wbr>CAPABILITY_<wbr>CONTEXT_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p>New Error codes</p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_CONTEXT_<wbr>TERMINATED_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> </li> </ul> </div> @@ -826,7 +929,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clTerminateContextKHR.html">clTerminateContextKHR</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -834,10 +937,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_terminate_context" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -845,7 +949,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -855,8 +959,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_throttle_hints.html b/sdk/3.0/docs/man/html/cl_khr_throttle_hints.html index a0b386f..5ab131b 100644 --- a/sdk/3.0/docs/man/html/cl_khr_throttle_hints.html +++ b/sdk/3.0/docs/man/html/cl_khr_throttle_hints.html
@@ -767,33 +767,124 @@ <h1>cl_khr_throttle_hints(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>cl_khr_throttle_hints - Extension adding throttle hints for OpenCL</p> +<p>cl_khr_throttle_hints - OpenCL extension</p> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> <div class="sectionbody"> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-c" data-lang="c">#pragma OPENCL EXTENSION cl_khr_throttle_hints : enable</code></pre> +<div class="paragraph"> +<p>Ratified</p> </div> </div> </div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2020-04-21</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +</dl> +</div> +</div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>This extension adds throttle hints for OpenCL, but does not specify the throttling behaviour or minimum guarantees. -It is expected that the user guide associated with each implementation which supports this extension describe the throttling behaviour guaranteed.</p> +<p>The <code>cl_khr_<wbr>throttle_<wbr>hints</code> extension adds throttle hints for OpenCL, but +does not specify the throttling behavior or minimum guarantees. +It is expected that the user guide associated with each implementation which +supports this extension will describe the throttling behavior guarantees.</p> </div> <div class="paragraph"> -<p>If this extension is supported by an implementation, the string cl_khr_throttle_hints will be present in the <code>CL_PLATFORM_EXTENSIONS</code> string described in table 4.1 (see <a href="clGetPlatformInfo.html">clGetPlatformInfo</a>).</p> +<p>Note that the throttle hint is orthogonal to functionality defined in +<code>cl_khr_<wbr>priority_<wbr>hints</code> extension. +For example, a task may have high priority (<code>CL_QUEUE_<wbr>PRIORITY_<wbr>HIGH_<wbr>KHR</code>) +but should at the same time be executed at an optimized throttle setting +(<code>CL_QUEUE_<wbr>THROTTLE_<wbr>LOW_<wbr>KHR</code>).</p> </div> -<div class="paragraph"> -<p>Note that the throttle hint is orthogonal to functionality defined in <a href="cl_khr_priority_hints.html">cl_khr_priority_hints</a>) extension. -For example, a task may have high priority (<code>CL_QUEUE_PRIORITY_HIGH_KHR</code>) but should at the same time be executed at an optimized throttle setting (<code>CL_QUEUE_THROTTLE_LOW</code>).</p> +</div> +</div> +<div class="sect1"> +<h2 id="_new_types"><a class="anchor" href="#_new_types"></a>New Types</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_queue_<wbr>throttle_<wbr>khr</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><code>cl_queue_<wbr>properties</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_QUEUE_<wbr>THROTTLE_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +<li> +<p><code>cl_queue_<wbr>throttle_<wbr>khr</code></p> +<div class="ulist"> +<ul> +<li> +<p><code>CL_QUEUE_<wbr>THROTTLE_<wbr>HIGH_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_QUEUE_<wbr>THROTTLE_<wbr>MED_<wbr>KHR</code></p> +</li> +<li> +<p><code>CL_QUEUE_<wbr>THROTTLE_<wbr>LOW_<wbr>KHR</code></p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2020-04-21</p> +<div class="ulist"> +<ul> +<li> +<p>First assigned version.</p> +</li> +</ul> +</div> +</li> +</ul> </div> </div> </div> @@ -801,7 +892,7 @@ <h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> <div class="sectionbody"> <div class="paragraph"> -<p><a href="clGetPlatformInfo.html">clGetPlatformInfo</a></p> +<p>No cross-references are available</p> </div> </div> </div> @@ -809,10 +900,11 @@ <h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> <div class="sectionbody"> <div class="paragraph"> -<p>For more information, see the OpenCL Extension Specification at URL</p> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_throttle_hints" target="_blank" rel="noopener">OpenCL Specification</a></p> </div> <div class="paragraph"> -<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_throttle_hints" class="bare">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_throttle_hints</a></p> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> </div> </div> </div> @@ -820,7 +912,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -830,8 +922,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/cl_khr_work_group_uniform_arithmetic.html b/sdk/3.0/docs/man/html/cl_khr_work_group_uniform_arithmetic.html new file mode 100644 index 0000000..89209a2 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_khr_work_group_uniform_arithmetic.html
@@ -0,0 +1,938 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_khr_work_group_uniform_arithmetic(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_khr_work_group_uniform_arithmetic(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_khr_work_group_uniform_arithmetic - OpenCL extension</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_ratification_status"><a class="anchor" href="#_ratification_status"></a>Ratification Status</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Ratified</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_extension_and_version_dependencies"><a class="anchor" href="#_extension_and_version_dependencies"></a>Extension and Version Dependencies</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>None</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h2> +<div class="sectionbody"> +<div class="dlist"> +<dl> +<dt class="hdlist1"><strong>Last Modified Date</strong></dt> +<dd> +<p>2022-04-29</p> +</dd> +<dt class="hdlist1"><strong>IP Status</strong></dt> +<dd> +<p>No known IP claims.</p> +</dd> +<dt class="hdlist1"><strong>Contributors</strong></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Kevin Petit, Arm Ltd.</p> +</li> +<li> +<p>Ben Ashbaugh, Intel</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><code>cl_khr_<wbr>work_<wbr>group_<wbr>uniform_<wbr>arithmetic</code> adds additional built-in work-group +collective functions to OpenCL C. +Specifically, this extension adds support for work-group scans and +reductions for the following operators:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Logical operations (<code>and</code>, <code>or</code>, and <code>xor</code>).</p> +</li> +<li> +<p>Bitwise operations (<code>and</code>, <code>or</code>, and <code>xor</code>).</p> +</li> +<li> +<p>Integer multiplication (<code>mul</code>).</p> +</li> +<li> +<p>Floating-point multiplication (<code>mul</code>).</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>See the +<a href="OpenCL_C.html#cl_khr_work_group_uniform_arithmetic">Work-group +Collective Uniform Arithmetic Functions</a> section of the OpenCL C +specification for more information.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h2> +<div class="sectionbody"> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>For these built-in functions, do we only want to support the types supported by the existing work-group collective functions, or do we want to support the types supported by the sub-group collective functions?</p> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p><code>RESOLVED</code>: The extension will require the same types as the existing +work-group collective functions.</p> +</div> +<div class="paragraph"> +<p>The difference are the 8-bit and 16-bit types: <code>char</code>, <code>uchar</code>, <code>short</code>, and +<code>ushort</code>. +Note that <code>half</code> is already supported, if half-precision is supported.</p> +</div> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p>Revision 1.0.0, 2022-04-29</p> +<div class="ulist"> +<ul> +<li> +<p>Initial version.</p> +</li> +</ul> +</div> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_khr_work_group_uniform_arithmetic" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is a generated document. +Fixes and changes should be made to the generator scripts, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_mutable_base_config_khr.html b/sdk/3.0/docs/man/html/cl_mutable_base_config_khr.html new file mode 100644 index 0000000..567b953 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_mutable_base_config_khr.html
@@ -0,0 +1,871 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_mutable_base_config_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_mutable_base_config_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_mutable_base_config_khr - DESC</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_mutable_<wbr>base_<wbr>config_<wbr>khr</code> structure encapsulates all aspects of +mutation and is defined as:</p> +</div> +<div id="cl_mutable_base_config_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_mutable_dispatch +typedef struct cl_mutable_base_config_khr { + cl_command_buffer_structure_type_khr type; + const void* next; + cl_uint num_mutable_dispatch; + const cl_mutable_dispatch_config_khr* mutable_dispatch_list; +} cl_mutable_base_config_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>type</em> is the type of this structure, and must be +<code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>BASE_<wbr>CONFIG_<wbr>KHR</code></p> +</li> +<li> +<p><em>next</em> is <code>NULL</code> or a pointer to an extending structure.</p> +</li> +<li> +<p><em>num_mutable_dispatch</em> is the number of mutable-dispatch objects to +configure in this enqueue of the command-buffer.</p> +</li> +<li> +<p><em>mutable_dispatch_list</em> is an array containing <em>num_mutable_dispatch</em> +elements describing the configurations of mutable kernel execution +commands in the command-buffer. +For a description of struct members making up each array element see</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="literalblock"> +<div class="content"> +<pre>{cl_mutable_dispatch_config_khr_TYPE}.</pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="clUpdateMutableCommandsKHR.html">clUpdateMutableCommandsKHR</a>, <a href="cl_command_buffer_structure_type_khr.html">cl_command_buffer_structure_type_khr</a>, <a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_dispatch_config_khr.html">cl_mutable_dispatch_config_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_mutable_base_config_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_mutable_dispatch_arg_khr.html b/sdk/3.0/docs/man/html/cl_mutable_dispatch_arg_khr.html new file mode 100644 index 0000000..892b853 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_mutable_dispatch_arg_khr.html
@@ -0,0 +1,831 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_mutable_dispatch_arg_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_mutable_dispatch_arg_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_mutable_dispatch_arg_khr - Set kernel arguments normally passed using clSetKernelArg and clSetKernelArg</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_mutable_<wbr>dispatch_<wbr>arg_<wbr>khr</code> structure sets kernel arguments +normally passed using <strong>clSetKernelArg</strong> and <strong>clSetKernelArgSVMPointer</strong>, and +is defined as:</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> + +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_dispatch_config_khr.html">cl_mutable_dispatch_config_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_mutable_dispatch_arg_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_mutable_dispatch_config_khr.html b/sdk/3.0/docs/man/html/cl_mutable_dispatch_config_khr.html new file mode 100644 index 0000000..361105e --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_mutable_dispatch_config_khr.html
@@ -0,0 +1,937 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_mutable_dispatch_config_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_mutable_dispatch_config_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_mutable_dispatch_config_khr - Set kernel configuration of a mutable clCommandNDRangeKernelKHR command</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_mutable_<wbr>dispatch_<wbr>arg_<wbr>khr</code> structure is passed to +<strong>clUpdateMutableCommandsKHR</strong> to set the kernel configuration of a mutable +<strong>clCommandNDRangeKernelKHR</strong> command, and is defined as:</p> +</div> +<div id="cl_mutable_dispatch_config_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_mutable_dispatch +typedef struct cl_mutable_dispatch_config_khr { + cl_command_buffer_structure_type_khr type; + const void* next; + cl_mutable_command_khr command; + cl_uint num_args; + cl_uint num_svm_args; + cl_uint num_exec_infos; + cl_uint work_dim; + const cl_mutable_dispatch_arg_khr* arg_list; + const cl_mutable_dispatch_arg_khr* arg_svm_list; + const cl_mutable_dispatch_exec_info_khr* exec_info_list; + const size_t* global_work_offset; + const size_t* global_work_size; + const size_t* local_work_size; +} cl_mutable_dispatch_config_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>type</em> is the type of this structure, and must be +<code>CL_STRUCTURE_<wbr>TYPE_<wbr>MUTABLE_<wbr>DISPATCH_<wbr>CONFIG_<wbr>KHR</code>.</p> +</li> +<li> +<p><em>next</em> is <code>NULL</code> or a pointer to an extending structure.</p> +</li> +<li> +<p><em>command</em> is a mutable-command object returned by +<strong>clCommandNDRangeKernelKHR</strong> representing a kernel execution as part of a +command-buffer.</p> +</li> +<li> +<p><em>num_args</em> is the number of kernel arguments being changed.</p> +</li> +<li> +<p><em>num_svm_args</em> is the number of SVM kernel arguments being changed.</p> +</li> +<li> +<p><em>num_exec_infos</em> is the number of kernel execution info objects to set +for this dispatch.</p> +</li> +<li> +<p><em>work_dim</em> is the number of dimensions used to specify the global +work-items and work-items in the work-group. +See <strong>clEnqueueNDRangeKernel</strong> for valid usage.</p> +</li> +<li> +<p><em>arg_list</em> is an array describing the new kernel arguments for this +enqueue. +It must contain <em>num_args</em> array elements, each of which encapsulates +parameters passed to <strong>clSetKernelArg</strong>. +See <strong>clSetKernelArg</strong> for usage of <code>cl_mutable_<wbr>dispatch_<wbr>arg_<wbr>khr</code> +members.</p> +</li> +<li> +<p><em>arg_svm_list</em> is an array describing the new SVM kernel arguments for +this enqueue. +It must contain <em>num_svm_args</em> array elements, each of which +encapsulates parameters passed to <strong>clSetKernelArgSVMPointer</strong>. +See <strong>clSetKernelArgSVMPointer</strong> for usage of +<code>cl_mutable_<wbr>dispatch_<wbr>arg_<wbr>khr</code> members, <code>arg_size</code> is ignored.</p> +</li> +<li> +<p><em>exec_info_list</em> is an array containing <em>num_exec_infos</em> elements +specifying the list of execution info objects use for this +command-buffer enqueue. +See <strong>clSetKernelExecInfo</strong> for usage of +<code>cl_mutable_<wbr>dispatch_<wbr>exec_<wbr>info_<wbr>khr</code> members.</p> +</li> +<li> +<p><em>global_work_offset</em> can be used to specify an array of <em>work_dim</em> +unsigned values that describe the offset used to calculate the global ID +of a work-item. +If <em>global_work_offset</em> is <code>NULL</code> then the global offset of the dispatch +is not changed. +See <strong>clEnqueueNDRangeKernel</strong> for valid usage.</p> +</li> +<li> +<p><em>global_work_size</em> points to an array of <em>work_dim</em> unsigned values that +describe the number of global work-items in <em>work_dim</em> dimensions that +will execute the kernel function. +If <em>global_work_size</em> is <code>NULL</code> then the number of global work-items in +the dispatch is not changed. +See <strong>clEnqueueNDRangeKernel</strong> for valid usage.</p> +</li> +<li> +<p><em>local_work_size</em> points to an array of <em>work_dim</em> unsigned values that +describe the number of work-items that make up a work-group that will +execute the kernel. +If <em>local_work_size</em> is <code>NULL</code> then the number of local work-items in +the dispatch is not changed.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="literalblock"> +<div class="content"> +<pre>See {clEnqueueNDRangeKernel} for valid usage.</pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_command_buffer_structure_type_khr.html">cl_command_buffer_structure_type_khr</a>, <a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_base_config_khr.html">cl_mutable_base_config_khr</a>, <a href="cl_mutable_command_khr.html">cl_mutable_command_khr</a>, <a href="cl_mutable_dispatch_arg_khr.html">cl_mutable_dispatch_arg_khr</a>, <a href="cl_mutable_dispatch_exec_info_khr.html">cl_mutable_dispatch_exec_info_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_mutable_dispatch_config_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_mutable_dispatch_exec_info_khr.html b/sdk/3.0/docs/man/html/cl_mutable_dispatch_exec_info_khr.html new file mode 100644 index 0000000..845ff5e --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_mutable_dispatch_exec_info_khr.html
@@ -0,0 +1,858 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_mutable_dispatch_exec_info_khr(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_mutable_dispatch_exec_info_khr(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_mutable_dispatch_exec_info_khr - Specify kernel execution info</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_mutable_<wbr>dispatch_<wbr>exec_<wbr>info_<wbr>khr</code> structure sets kernel execution +info normally passed using <strong>clSetKernelExecInfo</strong>, and is defined as:</p> +</div> +<div id="cl_mutable_dispatch_exec_info_khr" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by cl_khr_command_buffer_mutable_dispatch +typedef struct cl_mutable_dispatch_exec_info_khr { + cl_uint param_name; + size_t param_value_size; + const void* param_value; +} cl_mutable_dispatch_exec_info_khr;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><em>param_name</em> is of type <code>cl_uint</code> rather than +<code>cl_kernel_<wbr>exec_<wbr>info</code> so that the extension can be implemented on +OpenCL 1.2 where the <code>cl_kernel_<wbr>exec_<wbr>info</code> typedef is unavailable.</p> +</div> +<div class="paragraph"> +<p>== Description</p> +</div> +</td> +</tr> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="cl_khr_command_buffer_mutable_dispatch.html">cl_khr_command_buffer_mutable_dispatch</a>, <a href="cl_mutable_dispatch_config_khr.html">cl_mutable_dispatch_config_khr</a>, <a href="cl_uint.html">cl_uint</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_mutable_dispatch_exec_info_khr" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/cl_name_version.html b/sdk/3.0/docs/man/html/cl_name_version.html new file mode 100644 index 0000000..a114036 --- /dev/null +++ b/sdk/3.0/docs/man/html/cl_name_version.html
@@ -0,0 +1,859 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>cl_name_version(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>cl_name_version(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>cl_name_version - Structure describing a version number and corresponding entity name</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_c_specification"><a class="anchor" href="#_c_specification"></a>C Specification</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <code>cl_name_<wbr>version</code> structure describes a version number and a +corresponding entity (e.g. extension or built-in kernel) name:</p> +</div> +<div id="cl_name_version" class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl" data-lang="opencl">// Provided by CL_VERSION_3_0 +typedef struct cl_name_version { + cl_version version; + char name[CL_NAME_VERSION_MAX_NAME_SIZE]; +} cl_name_version;</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_members"><a class="anchor" href="#_members"></a>Members</h2> +<div class="sectionbody"> +<div class="ulist"> +<ul> +<li> +<p><em>version</em> is a <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#version-numbers" target="_blank" rel="noopener">Version Number</a>.</p> +</li> +<li> +<p><em>name</em> is an array of <code>CL_NAME_<wbr>VERSION_<wbr>MAX_<wbr>NAME_<wbr>SIZE</code> characters +containing a null-terminated string, whose maximum length is therefore</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="literalblock"> +<div class="content"> +<pre>{CL_NAME_VERSION_MAX_NAME_SIZE} minus one.</pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="CL_VERSION_3_0.html">CL_VERSION_3_0</a>, <a href="cl_version.html">cl_version</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#cl_name_version" target="_blank" rel="noopener">OpenCL Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/commaOperator.html b/sdk/3.0/docs/man/html/commaOperator.html index 9418553..fe9f4a4 100644 --- a/sdk/3.0/docs/man/html/commaOperator.html +++ b/sdk/3.0/docs/man/html/commaOperator.html
@@ -805,7 +805,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -815,8 +815,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/commonFunctions.html b/sdk/3.0/docs/man/html/commonFunctions.html index f289e0e..93240e9 100644 --- a/sdk/3.0/docs/man/html/commonFunctions.html +++ b/sdk/3.0/docs/man/html/commonFunctions.html
@@ -778,17 +778,82 @@ <p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-common" target="_blank" rel="noopener">following table</a> describes the list of built-in common functions. These all operate component-wise. -The description is per-component. -We use the generic type name <code>gentype</code> to indicate that the function can take -<code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, <code>float16</code>, <code>double</code> -<sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>double2</code>, <code>double3</code>, <code>double4</code>, -<code>double8</code> or <code>double16</code> as the type for the arguments. -We use the generic type name <code>gentypef</code> to indicate that the function can -take <code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code> as the -type for the arguments. -We use the generic type name <code>gentyped</code> to indicate that the function can -take <code>double</code>, <code>double2</code>, <code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code> as -the type for the arguments.</p> +The description is per-component.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentype</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code></p> +</li> +<li> +<p><code>double</code> <sup class="footnote" id="_footnote_double-supported">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>double2</code>, +<code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code></p> +</li> +<li> +<p><code>half</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, <code>half2</code>, <code>half3</code>, <code>half4</code>, +<code>half8</code> or <code>half16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypef</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentyped</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>double</code>, <code>double2</code>, <code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypeh</code> <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>half</code>, <code>half2</code>, <code>half3</code>, <code>half4</code>, <code>half8</code> or <code>half16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +All functions taking or returning <code>half</code> types are supported only when +the <code>cl_khr_<wbr>fp16</code> extension macro is supported. +</td> +</tr> +</table> </div> <table id="table-builtin-common" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Scalar and Vector Argument Common Functions</caption> @@ -796,15 +861,18 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>clamp</strong>(gentype <em>x</em>, gentype <em>minval</em>, gentype <em>maxval</em>)<br> gentypef <strong>clamp</strong>(gentypef <em>x</em>, float <em>minval</em>, float <em>maxval</em>)<br> - gentyped <strong>clamp</strong>(gentyped <em>x</em>, double <em>minval</em>, double <em>maxval</em>)</p></td> + gentyped <strong>clamp</strong>(gentyped <em>x</em>, double <em>minval</em>, double <em>maxval</em>)</p> +<p class="tableblock">gentypeh <strong>clamp</strong>(gentypeh <em>x</em>, half <em>minval</em>, half <em>maxval</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fmin</strong>(<strong>fmax</strong>(<em>x</em>, <em>minval</em>), <em>maxval</em>). Results are undefined if <em>minval</em> > <em>maxval</em>.</p></td> </tr> @@ -815,26 +883,52 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>max</strong>(gentype <em>x</em>, gentype <em>y</em>)<br> gentypef <strong>max</strong>(gentypef <em>x</em>, float <em>y</em>)<br> - gentyped <strong>max</strong>(gentyped <em>x</em>, double <em>y</em>)</p></td> + gentyped <strong>max</strong>(gentyped <em>x</em>, double <em>y</em>)</p> +<p class="tableblock">gentypeh <strong>max</strong>(gentypeh <em>x</em>, half <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>x</em> < <em>y</em>, otherwise it returns <em>x</em>. If <em>x</em> or <em>y</em> are infinite or NaN, the return values are undefined.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>min</strong>(gentype <em>x</em>, gentype <em>y</em>)<br> gentypef <strong>min</strong>(gentypef <em>x</em>, float <em>y</em>)<br> - gentyped <strong>min</strong>(gentyped <em>x</em>, double <em>y</em>)</p></td> + gentyped <strong>min</strong>(gentyped <em>x</em>, double <em>y</em>)</p> +<p class="tableblock">gentypeh <strong>min</strong>(gentypeh <em>x</em>, half <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>y</em> < <em>x</em>, otherwise it returns <em>x</em>. If <em>x</em> or <em>y</em> are infinite or NaN, the return values are undefined.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mix</strong>(gentype <em>x</em>, gentype <em>y</em>, gentype <em>a</em>)<br> gentypef <strong>mix</strong>(gentypef <em>x</em>, gentypef <em>y</em>, float <em>a</em>)<br> - gentyped <strong>mix</strong>(gentyped <em>x</em>, gentyped <em>y</em>, double <em>a</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the linear blend of <em>x</em> & <em>y</em> implemented as:</p> -<p class="tableblock"> <em>x</em> + (<em>y</em> - <em>x</em>) * <em>a</em></p> -<p class="tableblock"> <em>a</em> must be a value in the range [0.0, 1.0]. - If <em>a</em> is not in the range [0.0, 1.0], the return values are - undefined.</p></td> + gentyped <strong>mix</strong>(gentyped <em>x</em>, gentyped <em>y</em>, double <em>a</em>)</p> +<p class="tableblock">gentypeh <strong>mix</strong>(gentypeh <em>x</em>, gentypeh <em>y</em>, half <em>a</em>)</p></td> +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p>Returns the linear blend of <em>x</em> and <em>y</em> implemented as:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>_x_ + (_y_ - _x_) * _a_</pre> +</div> +</div> +<div class="literalblock"> +<div class="content"> +<pre>_a_ must be a value in the range [0.0, 1.0]. +If _a_ is not in the range [0.0, 1.0], the return values are +undefined.</pre> +</div> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The half-precision <strong>mix</strong> function can be implemented using +contractions such as <strong>mad</strong> or <strong>fma</strong>. +</td> +</tr> +</table> +</div></div></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>radians</strong>(gentype <em>degrees</em>)</p></td> @@ -843,13 +937,15 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>step</strong>(gentype <em>edge</em>, gentype <em>x</em>)<br> gentypef <strong>step</strong>(float <em>edge</em>, gentypef <em>x</em>)<br> - gentyped <strong>step</strong>(double <em>edge</em>, gentyped <em>x</em>)</p></td> + gentyped <strong>step</strong>(double <em>edge</em>, gentyped <em>x</em>)</p> +<p class="tableblock">gentypeh <strong>step</strong>(half <em>edge</em>, gentypeh <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns 0.0 if <em>x</em> < <em>edge</em>, otherwise it returns 1.0.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>smoothstep</strong>(gentype <em>edge0</em>, gentype <em>edge1</em>, gentype <em>x</em>)<br> gentypef <strong>smoothstep</strong>(float <em>edge0</em>, float <em>edge1</em>, gentypef <em>x</em>)<br> - gentyped <strong>smoothstep</strong>(double <em>edge0</em>, double <em>edge1</em>, gentyped <em>x</em>)</p></td> + gentyped <strong>smoothstep</strong>(double <em>edge0</em>, double <em>edge1</em>, gentyped <em>x</em>)</p> +<p class="tableblock">gentypeh <strong>smoothstep</strong>(half <em>edge0</em>, half <em>edge1</em>, gentypeh <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Returns 0.0 if <em>x</em> <= <em>edge0</em> and 1.0 if <em>x</em> >= <em>edge1</em> and performs smooth Hermite interpolation between 0 and 1 when <em>edge0</em> < <em>x</em> < @@ -870,6 +966,19 @@ <div class="paragraph"> <p>Results are undefined if <em>edge0</em> >= <em>edge1</em> or if <em>x</em>, <em>edge0</em> or <em>edge1</em> is a NaN.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The half-precision <strong>mix</strong> function can be implemented using +contractions such as <strong>mad</strong> or <strong>fma</strong>. +</td> +</tr> +</table> </div></div></td> </tr> <tr> @@ -906,7 +1015,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -917,13 +1026,22 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. +</div> +<div class="footnote" id="_footnotedef_2"> +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_3"> +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. +</div> +<div class="footnote" id="_footnotedef_4"> +<a href="#_footnoteref_4">4</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/constant.html b/sdk/3.0/docs/man/html/constant.html index 094b2dc..8eb1502 100644 --- a/sdk/3.0/docs/man/html/constant.html +++ b/sdk/3.0/docs/man/html/constant.html
@@ -791,7 +791,7 @@ <div class="paragraph"> <p>Each argument to a kernel that is a pointer to the <code>__constant</code> address space is counted separately towards the maximum number of such arguments, -defined as the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_MAX_CONSTANT_ARGS</code> device query</a>.</p> +defined as the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>MAX_<wbr>CONSTANT_<wbr>ARGS</code> device query</a>.</p> </div> </td> </tr> @@ -853,7 +853,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -863,8 +863,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/convert_T.html b/sdk/3.0/docs/man/html/convert_T.html index a1d175f..7c5ca98 100644 --- a/sdk/3.0/docs/man/html/convert_T.html +++ b/sdk/3.0/docs/man/html/convert_T.html
@@ -1097,7 +1097,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1107,8 +1107,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/deadLinks.html b/sdk/3.0/docs/man/html/deadLinks.html index d42cc7b..78727de 100644 --- a/sdk/3.0/docs/man/html/deadLinks.html +++ b/sdk/3.0/docs/man/html/deadLinks.html
@@ -825,7 +825,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -835,8 +835,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/enqueue_kernel.html b/sdk/3.0/docs/man/html/enqueue_kernel.html index d71dacc..9b6859f 100644 --- a/sdk/3.0/docs/man/html/enqueue_kernel.html +++ b/sdk/3.0/docs/man/html/enqueue_kernel.html
@@ -802,6 +802,21 @@ used to enqueue a kernel(s).</p> </div> <div class="paragraph"> +<p>When the <code>cl_khr_<wbr>device_<wbr>enqueue_<wbr>local_<wbr>arg_<wbr>types</code> extension macro is +supported, the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-kernel-enqueue" target="_blank" rel="noopener">Built-in Kernel Enqueue +Functions</a> and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-kernel-query" target="_blank" rel="noopener">Built-in Kernel Query +Functions</a> described in this section can use any of the built-in OpenCL C +scalar or vector integer or floating-point data types, or any user defined +type built from these scalar and vector data types, as the pointee type of +their arguments. +This is indicated by the generic type name <code>gentype</code> in those function +signatures.</p> +</div> +<div class="paragraph"> +<p>When the <code>cl_khr_<wbr>device_<wbr>enqueue_<wbr>local_<wbr>arg_<wbr>types</code> extension macro is +not supported, the pointee type of these functions must be <code>void</code>.</p> +</div> +<div class="paragraph"> <p>The macro <code>CLK_NULL_EVENT</code> refers to an invalid device event. The macro <code>CLK_NULL_QUEUE</code> refers to an invalid device queue.</p> </div> @@ -831,7 +846,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -841,8 +856,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/enqueue_marker.html b/sdk/3.0/docs/man/html/enqueue_marker.html index 6c80ad5..55f64d2 100644 --- a/sdk/3.0/docs/man/html/enqueue_marker.html +++ b/sdk/3.0/docs/man/html/enqueue_marker.html
@@ -784,11 +784,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Built-in Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Built-in Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>enqueue_marker</strong>(queue_t <em>queue</em>, uint <em>num_events_in_wait_list</em>, const clk_event_t *<em>event_wait_list</em>, clk_event_t *<em>event_ret</em>)</p></td> @@ -859,7 +861,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -869,8 +871,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/enums.html b/sdk/3.0/docs/man/html/enums.html index a8d83c1..6c6798f 100644 --- a/sdk/3.0/docs/man/html/enums.html +++ b/sdk/3.0/docs/man/html/enums.html
@@ -1387,7 +1387,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1397,8 +1397,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/equalityOperators.html b/sdk/3.0/docs/man/html/equalityOperators.html index 04d0e20..471e872 100644 --- a/sdk/3.0/docs/man/html/equalityOperators.html +++ b/sdk/3.0/docs/man/html/equalityOperators.html
@@ -809,18 +809,20 @@ are scalar and a vector signed integer type of the same size as the source operands if the source operands are vector types. Vector source operands of type <code>char<em>n</em></code> and <code>uchar<em>n</em></code> return a -<code>char<em>n</em></code> result; vector source operands of type <code>short<em>n</em></code> and +<code>char<em>n</em></code> result; vector source operands of type +<code>_half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, +<code>short<em>n</em></code> and <code>ushort<em>n</em></code> return a <code>short<em>n</em></code> result; vector source operands of type <code>int<em>n</em></code>, <code>uint<em>n</em></code> and <code>float<em>n</em></code> return an <code>int<em>n</em></code> result; vector source operands of type <code>long<em>n</em></code>, <code>ulong<em>n</em></code> and <code>double<em>n</em></code> return a <code>long<em>n</em></code> result.</p> </div> <div class="paragraph"> -<p>For scalar types, the equality operators return 0 if the specified relation -is <em>false</em> and return 1 if the specified relation is <em>true</em>. +<p>For scalar types, the equality operators shall return 0 if the specified +relation is <em>false</em> and return 1 if the specified relation is <em>true</em>. For vector types, the equality operators shall return 0 if the specified -relation is <em>false</em> and -1 (i.e. all bits set) if the specified relation is -<em>true</em>. +relation is <em>false</em> and return -1 (i.e. all bits set) if the specified +relation is <em>true</em>. The equality operator equal (<strong>==</strong>) returns 0 if one or both arguments are not a number (NaN). The equality operator not equal (<strong>!=</strong>) returns 1 (for scalar source @@ -853,7 +855,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -866,11 +868,14 @@ <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. To test whether any or all elements in the result of a vector relational operator test <em>true</em>, for example to use in the context in an <strong>if ( )</strong> statement, please see the <a href="#relational-functions"><strong>any</strong> and <strong>all</strong> built-ins</a>. </div> +<div class="footnote" id="_footnotedef_2"> +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/eventFunctions.html b/sdk/3.0/docs/man/html/eventFunctions.html index 7ac4037..72b3096 100644 --- a/sdk/3.0/docs/man/html/eventFunctions.html +++ b/sdk/3.0/docs/man/html/eventFunctions.html
@@ -786,8 +786,8 @@ </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Built-in Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Built-in Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> @@ -857,13 +857,13 @@ <p><em>value</em> is a pointer to two 64-bit values.</p> </div> <div class="paragraph"> -<p>The first 64-bit value describes the elapsed time <code>CL_PROFILING_COMMAND_END</code> -- <code>CL_PROFLING_COMMAND_START</code> for the command identified by <em>event</em> in +<p>The first 64-bit value describes the elapsed time <code>CL_PROFILING_<wbr>COMMAND_<wbr>END</code> +- <code>CL_PROFILING_<wbr>COMMAND_<wbr>START</code> for the command identified by <em>event</em> in nanoseconds.</p> </div> <div class="paragraph"> <p>The second 64-bit value describes the elapsed time -<code>CL_PROFILING_COMMAND_COMPLETE</code> - <code>CL_PROFILING_COMAMND_START</code> for the +<code>CL_PROFILING_<wbr>COMMAND_<wbr>COMPLETE</code> - <code>CL_PROFILING_<wbr>COMMAND_<wbr>START</code> for the command identified by <em>event</em> in nanoseconds.</p> </div> <div class="admonitionblock note"> @@ -889,17 +889,17 @@ host. These events created by the OpenCL runtime can only be used on the host, i.e. as events passed in the <em>event_wait_list</em> argument to various -<strong>clEnqueue</strong> APIs or runtime APIs that take events as arguments, such as +enqueue APIs or runtime APIs that take events as arguments, such as <strong>clRetainEvent</strong>, <strong>clReleaseEvent</strong>, and <strong>clGetEventProfilingInfo</strong>.</p> </div> <div class="paragraph"> <p>Similarly, events can be used to identify commands enqueued to a device queue (from a kernel). These event objects cannot be passed to the host or used by OpenCL runtime -APIs such as the <strong>clEnqueue</strong> APIs or runtime APIs that take event arguments.</p> +APIs such as the enqueue APIs or runtime APIs that take event arguments.</p> </div> <div class="paragraph"> -<p><strong>clRetainEvent</strong> and <strong>clReleaseEvent</strong> will return <code>CL_INVALID_OPERATION</code> if +<p><strong>clRetainEvent</strong> and <strong>clReleaseEvent</strong> will return <code>CL_INVALID_<wbr>OPERATION</code> if <em>event</em> specified is an event that refers to any kernel enqueued to a device queue using <strong>enqueue_kernel</strong> or <strong>enqueue_marker</strong>, or is a user event created by <strong>create_user_event</strong>.</p> @@ -1019,7 +1019,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1029,8 +1029,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/extendedAsyncCopyFunctions.html b/sdk/3.0/docs/man/html/extendedAsyncCopyFunctions.html new file mode 100644 index 0000000..adb32c0 --- /dev/null +++ b/sdk/3.0/docs/man/html/extendedAsyncCopyFunctions.html
@@ -0,0 +1,1003 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>extendedAsyncCopyFunctions(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>extendedAsyncCopyFunctions(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>extendedAsyncCopyFunctions - Extended Async Copy Functions</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>extended_<wbr>async_<wbr>copies</code> extension macro is supported, +additional <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-extended-async-copy" target="_blank" rel="noopener">Built-in Extended Async Copy +Functions</a> are provided which interpret the source and destination as 2D or +3D data.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-async-copy" target="_blank" rel="noopener"><strong>async_work_group_strided_copy</strong></a> is a special +case of <strong>async_work_group_copy_2D2D</strong>, namely one which copies a single +column to a single line or vice versa. +For example:<br> +<code>async_work_group_strided_copy(dst, src, num_gentypes, src_stride, event)</code> +is equal to <code>async_work_group_copy_2D2D(dst, 0, src, 0, sizeof(gentype), 1, +num_gentypes, src_stride, 1, event)</code></p> +</div> +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>The functions described in this section support arbitrary <code>gentype</code>-based +buffers by casting pointers to <code>void*</code>.</p> +</div> +<div class="paragraph"> +<p>These functions do not perform any implicit synchronization of source data +such as using a <strong>barrier</strong> before performing the copy.</p> +</div> +<div class="paragraph"> +<p>These functions are performed by all work-items in a work-group and must +therefore be encountered by all work-items in a work-group executing the +kernel with the same argument values; otherwise the results are undefined.</p> +</div> +<div class="paragraph"> +<p>The <em>src_offset</em>, <em>dst_offset</em>, <em>src_total_line_length</em>, +<em>dst_total_line_length</em>, <em>src_total_plane_area</em> and <em>dst_total_plane_area</em> +function arguments are expressed in elements.</p> +</div> +<div class="paragraph"> +<p>Both <em>src_total_line_length</em> and <em>dst_total_line_length</em> describe the +number of elements between the beginning of the current line and the +beginning of the next line.</p> +</div> +<div class="paragraph"> +<p>Both <em>src_total_plane_area</em> and <em>dst_total_plane_area</em> describe the +number of elements between the beginning of the current plane and the +beginning of the next plane.</p> +</div> +<div class="paragraph"> +<p>These functions return an event object that can be used by +<strong>wait_group_events</strong> to wait for the async copy to finish. +The <em>event</em> argument can also be used to associate the async copy with a +previous async copy allowing an event to be shared by multiple async copies; +otherwise <em>event</em> should be zero. +If the <em>event</em> argument is non-zero, the event object supplied as the +<em>event</em> argument will be returned.</p> +</div> +<table id="table-builtin-extended-async-copy" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Built-in Extended Async Copy Functions</caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">event_t async_work_group_copy_2D2D( + __local void *dst, + size_t dst_offset, + const __global void *src, + size_t src_offset, + size_t num_bytes_per_element, + size_t num_elements_per_line, + size_t num_lines, + size_t src_total_line_length, + size_t dst_total_line_length, + event_t event) + +event_t async_work_group_copy_2D2D( + __global void *dst, + size_t dst_offset, + const __local void *src, + size_t src_offset, + size_t num_bytes_per_element, + size_t num_elements_per_line, + size_t num_lines, + size_t src_total_line_length, + size_t dst_total_line_length, + event_t event)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Perform an async copy of (<em>num_elements_per_line</em> * <em>num_lines</em>) + elements of size <em>num_bytes_per_element</em> from (<em>src</em> + (<em>src_offset</em> * + <em>num_bytes_per_element</em>)) to (<em>dst</em> + (<em>dst_offset</em> * + <em>num_bytes_per_element</em>)). + All pointer arithmetic is performed with implicit casting to <code>char*</code> + by the implementation. + Each line contains <em>num_elements_per_line</em> elements of size + <em>num_bytes_per_element</em>. + After each line of transfer, the <em>src</em> address is incremented by + <em>src_total_line_length</em> elements (i.e. <em>src_total_line_length</em> * + <em>num_bytes_per_element</em> bytes), and the <em>dst</em> address is incremented + by <em>dst_total_line_length</em> elements (i.e. <em>dst_total_line_length</em> * + <em>num_bytes_per_element</em> bytes), for the next line of transfer.</p> +<p class="tableblock"> The behavior of <strong>async_work_group_copy_2D2D</strong> is undefined if the + source or destination addresses exceed the upper bounds of the address + space during the copy.</p> +<p class="tableblock"> The behavior of <strong>async_work_group_copy_2D2D</strong> is also undefined if the + <em>src_total_line_length</em> or <em>dst_total_line_length</em> values are smaller + than <em>num_elements_per_line</em>, i.e. overlapping of lines is undefined.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">event_t async_work_group_copy_3D3D( + __local void *dst, + size_t dst_offset, + const __global void *src, + size_t src_offset, + size_t num_bytes_per_element, + size_t num_elements_per_line, + size_t num_lines, + size_t num_planes, + size_t src_total_line_length, + size_t src_total_plane_area, + size_t dst_total_line_length, + size_t dst_total_plane_area, + event_t event) + +event_t async_work_group_copy_3D3D( + __global void *dst, + size_t dst_offset, + const __local void *src, + size_t src_offset, + size_t num_bytes_per_element, + size_t num_elements_per_line, + size_t num_lines, + size_t num_planes, + size_t src_total_line_length, + size_t src_total_plane_area, + size_t dst_total_line_length, + size_t dst_total_plane_area, + event_t event)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Perform an async copy of <em>num_elements_per_line</em> * <em>num_lines</em>) * <em>num_planes</em>) elements of size <em>num_bytes_per_element</em> from (<em>src</em> + (<em>src_offset</em> * <em>num_bytes_per_element</em> to (<em>dst</em> + (<em>dst_offset</em> * + <em>num_bytes_per_element</em>)), arranged in <em>num_planes</em> planes. + All pointer arithmetic is performed with implicit casting to <code>char*</code> + by the implementation. + Each plane contains <em>num_lines</em> lines. + Each line contains <em>num_elements_per_line</em> elements. + After each line of transfer, the <em>src</em> address is incremented by + <em>src_total_line_length</em> elements (i.e. <em>src_total_line_length</em> * + <em>num_bytes_per_element</em> bytes), and the <em>dst</em> address is incremented + by <em>dst_total_line_length</em> elements (i.e. <em>dst_total_line_length</em> * + <em>num_bytes_per_element</em> bytes), for the next line of transfer.</p> +<p class="tableblock"> The behavior of <strong>async_work_group_copy_3D3D</strong> is undefined if the + source or destination addresses exceed the upper bounds of the address + space during the copy.</p> +<p class="tableblock"> The behavior of <strong>async_work_group_copy_3D3D</strong> is also undefined if the + <em>src_total_line_length</em> or <em>dst_total_line_length</em> values are smaller + than <em>num_elements_per_line</em>, i.e. overlapping of lines is undefined.</p> +<p class="tableblock"> The behavior of <strong>async_work_group_copy_3D3D</strong> is also undefined if + <em>src_total_plane_area</em> is smaller than (<em>num_lines</em> * + <em>src_total_line_length</em>), or <em>dst_total_plane_area</em> is smaller than + (<em>num_lines</em> * <em>dst_total_line_length</em>), i.e. overlapping of planes is + undefined.</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>No cross-references are available</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#extended-async-copies" target="_blank" rel="noopener">OpenCL C Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL C Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/extendedBitOperations.html b/sdk/3.0/docs/man/html/extendedBitOperations.html new file mode 100644 index 0000000..4c1cfa9 --- /dev/null +++ b/sdk/3.0/docs/man/html/extendedBitOperations.html
@@ -0,0 +1,941 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>extendedBitOperations(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>extendedBitOperations(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>extendedBitOperations - Extended Bit Operations</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> extension macro is supported, the +functions described in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-extended-bit-operations" target="_blank" rel="noopener">Built-in +Scalar and Vector Extended Bit Operations</a> table can be used with built-in +scalar or vector integer types to perform extended bit operations. +The functions that operate on vector types operate component-wise. +The description is per-component.</p> +</div> +<div class="paragraph"> +<p>In the table below, the generic type name <code>gentype</code> refers to the built-in +integer types <code>char</code>, <code>char<em>n</em></code>, <code>uchar</code>, <code>uchar<em>n</em></code>, <code>short</code>, +<code>short<em>n</em></code>, <code>ushort</code>, <code>ushort<em>n</em></code>, <code>int</code>, <code>int<em>n</em></code>, <code>uint</code>, +<code>uint<em>n</em></code>, <code>long</code>, <code>long<em>n</em></code>, <code>ulong</code>, and <code>ulong<em>n</em></code>. +The generic type name <code>igentype</code> refers to the built-in signed integer types +<code>char</code>, <code>char<em>n</em></code>, <code>short</code>, <code>short<em>n</em></code>, <code>int</code>, <code>int<em>n</em></code>, <code>long</code>, and +<code>long<em>n</em></code>. +The generic type name <code>ugentype</code> refers to the built-in unsigned integer +types <code>uchar</code>, <code>uchar<em>n</em></code>, <code>ushort</code>, <code>ushort<em>n</em></code>, <code>uint</code>, <code>uint<em>n</em></code>, +<code>ulong</code>, and <code>ulong<em>n</em></code>. +<em>n</em> is 2, 3, 4, 8, or 16.</p> +</div> +<table id="table-builtin-extended-bit-operations" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Built-in Scalar and Vector Extended Bit Operations</caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype bitfield_insert( + gentype base, gentype insert, + uint offset, uint count)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns a copy of <em>base</em>, with a modified bitfield that comes from + <em>insert</em>.</p> +<p class="tableblock"> Any bits of the result value numbered outside [<em>offset</em>, <em>offset</em> + + <em>count</em> - 1] (inclusive) will come from the corresponding bits in + <em>base</em>.</p> +<p class="tableblock"> Any bits of the result value numbered inside [<em>offset</em>, <em>offset</em> + + <em>count</em> - 1] (inclusive) will come from the bits numbered [0, <em>count</em> + - 1] (inclusive) of <em>insert</em>.</p> +<p class="tableblock"> <em>count</em> is the number of bits to be modified. + If <em>count</em> equals 0, the return value will be equal to <em>base</em>.</p> +<p class="tableblock"> If <em>count</em> or <em>offset</em> or <em>offset</em> + <em>count</em> is greater than number of + bits in <code>gentype</code> (for scalar types) or components of <code>gentype</code> (for + vector types), the result is undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">igentype bitfield_extract_signed( + gentype base, + uint offset, uint count)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns an extracted bitfield from <em>base</em> with sign extension. + The type of the return value is always a signed type.</p> +<p class="tableblock"> The bits of <em>base</em> numbered in [<em>offset</em>, <em>offset</em> + <em>count</em> - 1] + (inclusive) are returned as the bits numbered in [0, <em>count</em> - 1] + (inclusive) of the result. + The remaining bits in the result will be sign extended by replicating + the bit numbered <em>offset</em> + <em>count</em> - 1 of <em>base</em>.</p> +<p class="tableblock"> <em>count</em> is the number of bits to be extracted. + If <em>count</em> equals 0, the result is 0.</p> +<p class="tableblock"> If the <em>count</em> or <em>offset</em> or <em>offset</em> + <em>count</em> is greater than + number of bits in <code>gentype</code> (for scalar types) or components of + <code>gentype</code> (for vector types), the result is undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">ugentype bitfield_extract_unsigned( + gentype base, + uint offset, uint count)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns an extracted bitfield from <em>base</em> with zero extension. + The type of the return value is always an unsigned type.</p> +<p class="tableblock"> The bits of <em>base</em> numbered in [<em>offset</em>, <em>offset</em> + <em>count</em> - 1] + (inclusive) are returned as the bits numbered in [0, <em>count</em> - 1] + (inclusive) of the result. + The remaining bits in the result will be zero.</p> +<p class="tableblock"> <em>count</em> is the number of bits to be extracted. + If <em>count</em> equals 0, the result is 0.</p> +<p class="tableblock"> If the <em>count</em> or <em>offset</em> or <em>offset</em> + <em>count</em> is greater than + number of bits in <code>gentype</code> (for scalar types) or components of + <code>gentype</code> (for vector types), the result is undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype bit_reverse( + gentype base)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the value of <em>base</em> with reversed bits. + That is, the bit numbered <em>n</em> of the result value will be taken from + the bit numbered <em>width</em> - <em>n</em> - 1 of <em>base</em> (for scalar types) or a + component of <em>base</em> (for vector types), where <em>width</em> is number of + bits of <code>gentype</code> (for scalar types) or components of <code>gentype</code> (for + vector types).</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>extended_<wbr>bit_<wbr>ops</code> extension macro.</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="commonFunctions.html">commonFunctions</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#extended-bit-operations" target="_blank" rel="noopener">OpenCL C Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL C Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/fpMacros.html b/sdk/3.0/docs/man/html/fpMacros.html index f2a942e..8269d67 100644 --- a/sdk/3.0/docs/man/html/fpMacros.html +++ b/sdk/3.0/docs/man/html/fpMacros.html
@@ -835,50 +835,52 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Macro in OpenCL Language</th> +<th class="tableblock halign-left valign-top">Macro for application</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro in OpenCL Language</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro for application</strong></p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_DIG</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>DIG</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MANT_DIG</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MANT_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MANT_<wbr>DIG</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MAX_10_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MAX_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MAX_<wbr>10_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MAX_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MAX_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MAX_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MIN_10_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MIN_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MIN_<wbr>10_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MIN_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MIN_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MIN_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_RADIX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_RADIX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>RADIX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FLT_EPSILSON</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_EPSILON</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_FLT_<wbr>EPSILON</code></p></td> </tr> </tbody> </table> @@ -898,11 +900,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Constant</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Constant</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_E_F</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Value of <em>e</em></p></td> @@ -958,13 +962,12 @@ </tbody> </table> <div class="paragraph"> -<p>If double precision is supported by the device, e.g. for OpenCL C 3.0 or newer -the <code>__opencl_c_<wbr>fp64</code> feature macro is present, then the following macros -and constants are also available:</p> +<p>If <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#double-precision-support" target="_blank" rel="noopener">double-precision is supported by the +device</a>, then the following macros and constants are also available:</p> </div> <div class="paragraph"> <p>The <code>FP_FAST_FMA</code> macro indicates whether the <strong>fma</strong>() family of functions -are fast compared with direct code for double precision floating-point. +are fast compared with direct code for double-precision floating-point. If defined, the <code>FP_FAST_FMA</code> macro shall indicate that the <strong>fma</strong>() function generally executes about as fast as, or faster than, a multiply and an add of <code>double</code> operands</p> @@ -997,46 +1000,48 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Macro in OpenCL Language</th> +<th class="tableblock halign-left valign-top">Macro for application</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro in OpenCL Language</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro for application</strong></p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_DIG</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>DIG</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MANT_DIG</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MANT_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MANT_<wbr>DIG</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MAX_10_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MAX_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MAX_<wbr>10_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MAX_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MAX_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MAX_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MIN_10_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MIN_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MIN_<wbr>10_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MIN_EXP</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MIN_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MIN_<wbr>EXP</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBL_EPSILSON</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_EPSILON</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DBL_<wbr>EPSILON</code></p></td> </tr> </tbody> </table> @@ -1050,11 +1055,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Constant</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Constant</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_E</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Value of <em>e</em></p></td> @@ -1109,6 +1116,167 @@ </tr> </tbody> </table> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>fp16</code> extension macro is supported, then the following +macros and constants are also available:</p> +</div> +<div class="paragraph"> +<p>The <code>FP_FAST_FMA_HALF</code> macro indicates whether the <strong>fma</strong>() family of +functions are fast compared with direct code for half-precision +floating-point. +If defined, the <code>FP_FAST_FMA_HALF</code> macro shall indicate that the <strong>fma</strong>() +function generally executes about as fast as, or faster than, a multiply and +an add of <code>half</code> operands.</p> +</div> +<div class="paragraph"> +<p>The macro names given in the following list must use the values specified. +These constant expressions are suitable for use in #if preprocessing +directives.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">#define HALF_DIG 3 +#define HALF_MANT_DIG 11 +#define HALF_MAX_10_EXP +4 +#define HALF_MAX_EXP +16 +#define HALF_MIN_10_EXP -4 +#define HALF_MIN_EXP -13 +#define HALF_RADIX 2 +#define HALF_MAX 0x1.ffcp15h +#define HALF_MIN 0x1.0p-14h +#define HALF_EPSILON 0x1.0p-10h</code></pre> +</div> +</div> +<div class="paragraph"> +<p>The following table describes the built-in macro names given above in the +OpenCL C programming language and the corresponding macro names available to +the application.</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Macro in OpenCL Language</th> +<th class="tableblock halign-left valign-top">Macro for application</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>DIG</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MANT_DIG</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MANT_<wbr>DIG</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MAX_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MAX_<wbr>10_<wbr>EXP</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MAX_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MAX_<wbr>EXP</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MIN_10_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MIN_<wbr>10_<wbr>EXP</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MIN_EXP</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MIN_<wbr>EXP</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_RADIX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>RADIX</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MAX</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>MIN</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HALF_EPSILSON</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_HALF_<wbr>EPSILON</code></p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>The following constants are also available. +They are of type <code>half</code> and are accurate within the precision of the <code>half</code> +type.</p> +</div> +<table class="tableblock frame-all grid-all stretch"> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Constant</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_E_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of e</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_LOG2E_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of log<sub>2</sub>e</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_LOG10E_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of log<sub>10</sub>e</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_LN2_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of log<sub>e</sub>2</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_LN10_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of log<sub>e</sub>10</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_PI_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of π</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_PI_2_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of π / 2</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_PI_4_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of π / 4</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_1_PI_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of 1 / π</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_2_PI_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of 2 / π</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_2_SQRTPI_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of 2 / √π</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_SQRT2_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of √2</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M_SQRT1_2_H</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Value of 1 / √2</p></td> +</tr> +</tbody> +</table> </div> </div> <div class="sect1"> @@ -1135,7 +1303,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1145,8 +1313,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/genericAddressSpace.html b/sdk/3.0/docs/man/html/genericAddressSpace.html index 01c3be0..d0d58d9 100644 --- a/sdk/3.0/docs/man/html/genericAddressSpace.html +++ b/sdk/3.0/docs/man/html/genericAddressSpace.html
@@ -818,7 +818,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -828,8 +828,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/geometricFunctions.html b/sdk/3.0/docs/man/html/geometricFunctions.html index 20543f6..62108c8 100644 --- a/sdk/3.0/docs/man/html/geometricFunctions.html +++ b/sdk/3.0/docs/man/html/geometricFunctions.html
@@ -776,12 +776,66 @@ <div class="sectionbody"> <div class="paragraph"> <p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-geometric" target="_blank" rel="noopener">following table</a> describes the list of built-in -geometric functions. -These all operate component-wise. -The description is per-component. -<code>float<em>n</em></code> is <code>float</code>, <code>float2</code>, <code>float3</code>, or <code>float4</code> and <code>double<em>n</em></code> is -<code>double</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>double2</code>, <code>double3</code>, or -<code>double4</code>.</p> +geometric functions.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypef</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>float</code>, <code>float2</code>, <code>float3</code>, or <code>float4</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentyped</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>double</code>, <code>double2</code>, <code>double3</code>, or <code>double4</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypeh</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>half</code>, <code>half2</code>, <code>half3</code>, or <code>half4</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +All functions taking or returning <code>half</code> types are supported only when +the <code>cl_khr_<wbr>fp16</code> extension macro is supported. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>For any specific use of a function with <code>gentype*</code> arguments the actual type +has to be the same for all arguments and the return type, unless they are +explicitly specified as an actual type.</p> </div> <table id="table-builtin-geometric" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Scalar and Vector Argument Geometric Functions</caption> @@ -789,39 +843,47 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>cross</strong>(float4 <em>p0</em>, float4 <em>p1</em>)<br> float3 <strong>cross</strong>(float3 <em>p0</em>, float3 <em>p1</em>)<br> double4 <strong>cross</strong>(double4 <em>p0</em>, double4 <em>p1</em>)<br> - double3 <strong>cross</strong>(double3 <em>p0</em>, double3 <em>p1</em>)</p></td> + double3 <strong>cross</strong>(double3 <em>p0</em>, double3 <em>p1</em>)</p> +<p class="tableblock"> half4 <strong>cross</strong>(half4 <em>p0</em>, half4 <em>p1</em>)<br> + half3 <strong>cross</strong>(half3 <em>p0</em>, half3 <em>p1</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the cross product of <em>p0.xyz</em> and <em>p1.xyz</em>. The <em>w</em> component of <code>float4</code> result returned will be 0.0.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>dot</strong>(float<em>n</em> <em>p0</em>, float<em>n</em> <em>p1</em>)<br> - double <strong>dot</strong>(double<em>n</em> <em>p0</em>, double<em>n</em> <em>p1</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Compute dot product.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>dot</strong>(gentypef <em>p0</em>, gentypef <em>p1</em>)<br> + double <strong>dot</strong>(gentyped <em>p0</em>, gentyped <em>p1</em>)</p> +<p class="tableblock">half <strong>dot</strong>(gentypeh <em>p0</em>, gentypeh <em>p1</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Compute the dot product of <em>p0</em> and <em>p1</em>.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>distance</strong>(float<em>n</em> <em>p0</em>, float<em>n</em> <em>p1</em>)<br> - double <strong>distance</strong>(double<em>n</em> <em>p0</em>, double<em>n</em> <em>p1</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>distance</strong>(gentypef <em>p0</em>, gentypef <em>p1</em>)<br> + double <strong>distance</strong>(gentyped <em>p0</em>, gentyped <em>p1</em>)</p> +<p class="tableblock">half <strong>distance</strong>(gentypeh <em>p0</em>, gentypeh <em>p1</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the distance between <em>p0</em> and <em>p1</em>. This is calculated as <strong>length</strong>(<em>p0</em> - <em>p1</em>).</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>length</strong>(float<em>n</em> <em>p</em>)<br> - double <strong>length</strong>(double<em>n</em> <em>p</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>length</strong>(gentypef <em>p</em>)<br> + double <strong>length</strong>(gentyped <em>p</em>)</p> +<p class="tableblock">half <strong>length</strong>(gentypeh <em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the length of vector <em>p</em>, i.e., √ <em>p.x</em><sup>2</sup> + <em>p.y</em> <sup>2</sup> + …​</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>normalize</strong>(float<em>n</em> <em>p</em>)<br> - double<em>n</em> <strong>normalize</strong>(double<em>n</em> <em>p</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">gentypef <strong>normalize</strong>(gentypef <em>p</em>)<br> + gentyped <strong>normalize</strong>(gentyped <em>p</em>)</p> +<p class="tableblock">gentypeh <strong>normalize</strong>(gentypeh <em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns a vector in the same direction as <em>p</em> but with a length of 1.</p></td> </tr> <tr> @@ -829,7 +891,7 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>fast_distance</strong>(float<em>n</em> <em>p0</em>, float<em>n</em> <em>p1</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>fast_distance</strong>(float <em>p0</em>, float<em>n</em> <em>p1</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fast_length</strong>(<em>p0</em> - <em>p1</em>).</p></td> </tr> <tr> @@ -908,7 +970,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -919,13 +981,16 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. +</div> +<div class="footnote" id="_footnotedef_2"> +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/global.html b/sdk/3.0/docs/man/html/global.html index 356e899..7b8c761 100644 --- a/sdk/3.0/docs/man/html/global.html +++ b/sdk/3.0/docs/man/html/global.html
@@ -842,7 +842,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -852,8 +852,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/halfDataType.html b/sdk/3.0/docs/man/html/halfDataType.html index 89c9c67..fe093bb 100644 --- a/sdk/3.0/docs/man/html/halfDataType.html +++ b/sdk/3.0/docs/man/html/halfDataType.html
@@ -788,7 +788,9 @@ Conversions from <code>float</code> to <code>half</code> correctly round the mantissa to 11 bits of precision. Conversions from <code>half</code> to <code>float</code> are lossless; all <code>half</code> numbers are -exactly representable as <code>float</code> values.</p> +exactly representable as <code>float</code> values. +Conversions from <code>double</code> to <code>half</code> are correctly rounded. +Conversions from <code>half</code> to <code>double</code> are lossless.</p> </div> <div class="paragraph"> <p>The <code>half</code> data type can only be used to declare a pointer to a buffer that @@ -862,7 +864,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -872,8 +874,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/helperFunctions.html b/sdk/3.0/docs/man/html/helperFunctions.html index fe1a9ef..cb62ced 100644 --- a/sdk/3.0/docs/man/html/helperFunctions.html +++ b/sdk/3.0/docs/man/html/helperFunctions.html
@@ -780,11 +780,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Built-in Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Built-in Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">queue_t <strong>get_default_queue</strong>(void)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the default device queue. @@ -843,7 +845,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -853,8 +855,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/imageQueryFunctions.html b/sdk/3.0/docs/man/html/imageQueryFunctions.html index 3b4b691..9a30045 100644 --- a/sdk/3.0/docs/man/html/imageQueryFunctions.html +++ b/sdk/3.0/docs/man/html/imageQueryFunctions.html
@@ -788,32 +788,46 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>get_image_width</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> - int <strong>get_image_width</strong>(<em>aQual</em> image3d_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.2 or newer:<br></p> + int <strong>get_image_width</strong>(<em>aQual</em> image3d_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 1.2 or newer:</p> <p class="tableblock"> int <strong>get_image_width</strong>(<em>aQual</em> image1d_t <em>image</em>)<br> int <strong>get_image_width</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>)<br> int <strong>get_image_width</strong>(<em>aQual</em> image1d_array_t <em>image</em>)<br> - int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> + int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> <p class="tableblock"> int <strong>get_image_width</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> - int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> + int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_width</strong>(<em>aQual</em> image2d_msaa_t image)<br> + int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_msaa_t image)<br> + int <strong>get_image_width</strong>(<em>aQual</em> image2d_msaa_depth_t image)<br> + int <strong>get_image_width</strong>(<em>aQual</em> image2d_array_msaa_depth_t image)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the image width in pixels.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>get_image_height</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> - int <strong>get_image_height</strong>(<em>aQual</em> image3d_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.2 or newer:<br></p> -<p class="tableblock"> int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> + int <strong>get_image_height</strong>(<em>aQual</em> image3d_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 1.2 or newer:</p> +<p class="tableblock"> int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> <p class="tableblock"> int <strong>get_image_height</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> - int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> + int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_height</strong>(<em>aQual</em> image2d_msaa_t image)<br> + int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_msaa_t image)<br> + int <strong>get_image_height</strong>(<em>aQual</em> image2d_msaa_depth_t image)<br> + int <strong>get_image_height</strong>(<em>aQual</em> image2d_array_msaa_depth_t image)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the image height in pixels.</p></td> </tr> <tr> @@ -826,17 +840,23 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> - int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image3d_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.2 or newer:<br></p> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image3d_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 1.2 or newer:</p> <p class="tableblock"> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image1d_t <em>image</em>)<br> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>)<br> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image3d_t <em>image</em>)<br> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image1d_array_t <em>image</em>)<br> - int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> <p class="tableblock"> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> - int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_msaa_t image)<br> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_msaa_t image)<br> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_msaa_depth_t image)<br> + int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_msaa_depth_t image)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the channel data type. Valid values are:</p> <p class="tableblock"> <code>CLK_SNORM_INT8</code><br> <code>CLK_SNORM_INT16</code><br> @@ -853,20 +873,26 @@ <code>CLK_UNSIGNED_INT32</code><br> <code>CLK_HALF_FLOAT</code><br> <code>CLK_FLOAT</code><br></p> -<p class="tableblock"> Additionally, for OpenCL C 3.0 or newer:<br></p> +<p class="tableblock"> Additionally, for OpenCL C 3.0 or newer:</p> <p class="tableblock"> <code>CLK_UNORM_INT_101010_2</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> - int <strong>get_image_channel_order</strong>(<em>aQual</em> image3d_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.2 or newer:<br></p> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image3d_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 1.2 or newer:</p> <p class="tableblock"> int <strong>get_image_channel_order</strong>(<em>aQual</em> image1d_t <em>image</em>)<br> int <strong>get_image_channel_order</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>)<br> int <strong>get_image_channel_order</strong>(<em>aQual</em> image1d_array_t <em>image</em>)<br> - int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> <p class="tableblock"> int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> - int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_msaa_t image)<br> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_msaa_t image)<br> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_msaa_depth_t image)<br> + int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_msaa_depth_t image)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the image channel order. Valid values are:</p> <p class="tableblock"> <code>CLK_A</code><br> <code>CLK_R</code><br> @@ -877,12 +903,12 @@ <code>CLK_ARGB</code><br> <code>CLK_BGRA</code><br> <code>CLK_INTENSITY</code><br> - <code>CLK_LUMINANCE</code><br></p> -<p class="tableblock"> Additionally, for OpenCL C 1.1 or newer:<br></p> + <code>CLK_LUMINANCE</code></p> +<p class="tableblock"> Additionally, for OpenCL C 1.1 or newer:</p> <p class="tableblock"> <code>CLK_Rx</code><br> <code>CLK_RGx</code><br> - <code>CLK_RGBx</code><br></p> -<p class="tableblock"> Additionally, for OpenCL C 2.0 or newer:<br></p> + <code>CLK_RGBx</code></p> +<p class="tableblock"> Additionally, for OpenCL C 2.0 or newer:</p> <p class="tableblock"> <code>CLK_ABGR</code><br> <code>CLK_DEPTH</code><br> <code>CLK_sRGB</code><br> @@ -895,13 +921,19 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.2 or newer:<br></p> -<p class="tableblock"> int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> +<td class="tableblock halign-left valign-top"><p class="tableblock">int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 1.2 or newer:</p> +<p class="tableblock"> int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> <p class="tableblock"> int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> - int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Return the 2D image width and height as an int2 type. + int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_msaa_t image)<br> + int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_msaa_t image)<br> + int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_msaa_depth_t image)<br> + int2 <strong>get_image_dim</strong>(<em>aQual</em> image2d_array_msaa_depth_t image)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the 2D image width and height as an <code>int2</code> type. The width is returned in the <em>x</em> component, and the height in the <em>y</em> component.</p></td> </tr> @@ -916,17 +948,39 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">For OpenCL C 1.2 or newer:<br></p> -<p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, also see <code>cl_khr_depth_images</code> extension:<br></p> -<p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">For OpenCL C 1.2 or newer:</p> +<p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image2d_array_t <em>image</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, or if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension + macro is supported:</p> +<p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p> +<p class="tableblock"> If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image2d_array_msaa_depth_t <em>image</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of images in the 2D image array.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">For OpenCL C 1.2 or newer:<br></p> +<td class="tableblock halign-left valign-top"><p class="tableblock">For OpenCL C 1.2 or newer:</p> <p class="tableblock"> size_t <strong>get_image_array_size</strong>(<em>aQual</em> image1d_array_t <em>image</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of images in the 1D image array.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">If the <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_num_samples</strong>(<em>aQual</em> image2d_msaa_t <em>image</em>)<br> + int <strong>get_image_num_samples</strong>(<em>aQual</em> image2d_array_msaa_t <em>image</em>)<br> + int <strong>get_image_num_samples</strong>(<em>aQual</em> image2d_msaa_depth_t <em>image</em>)<br> + int <strong>get_image_num_samples</strong>(<em>aQual</em> image2d_array_msaa_depth_t <em>image</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of samples in the 2D MSAA image</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">If the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension macro is supported:</p> +<p class="tableblock"> int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image1d_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image2d_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image3d_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image1d_array_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br> + int <strong>get_image_num_mip_levels</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Return the number of mip levels in <em>image</em>.</p></td> +</tr> </tbody> </table> <div class="paragraph"> @@ -936,7 +990,7 @@ to describe the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-channel-order" target="_blank" rel="noopener">image channel order</a> and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-channel-data-type" target="_blank" rel="noopener">data type</a> in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-spec" target="_blank" rel="noopener">OpenCL Specification</a>. -For example, both <code>CL_UNORM_INT8</code> and <code>CLK_UNORM_INT8</code> refer to an image +For example, both <code>CL_UNORM_<wbr>INT8</code> and <code>CLK_UNORM_INT8</code> refer to an image channel data type that is an unnormalized unsigned 8-bit integer.</p> </div> </div> @@ -965,7 +1019,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -976,13 +1030,13 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Although <code>CL_UNORM_INT_101010_2</code> was added in OpenCL 2.1, because there was no OpenCL C 2.1 this image channel order <a href="#unified-spec">requires</a> OpenCL 3.0. +<a href="#_footnoteref_1">1</a>. Although <code>CL_UNORM_<wbr>INT_<wbr>101010_<wbr>2</code> was added in OpenCL 2.1, because there was no OpenCL C 2.1 this image channel order <a href="#unified-spec">requires</a> OpenCL 3.0. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/imageReadFunctions.html b/sdk/3.0/docs/man/html/imageReadFunctions.html index f25c75f..b8219fa 100644 --- a/sdk/3.0/docs/man/html/imageReadFunctions.html +++ b/sdk/3.0/docs/man/html/imageReadFunctions.html
@@ -778,17 +778,36 @@ <p>The following built-in function calls to read images with a sampler are supported <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>.</p> </div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>mipmap_<wbr>image</code> extension macro is supported, read +functions which do not either</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>explicitly specify a level of detail <em>lod</em>, or</p> +</li> +<li> +<p>compute a level of detail from <em>gradient</em> parameters</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>read from mip level 0 if <em>image</em> is a mipmapped image.</p> +</div> <table id="table-image-read" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Image Read Functions</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>, int2 <em>coord</em>)<br> @@ -798,13 +817,13 @@ the 2D image object specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode @@ -819,6 +838,37 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>, + int2 <em>coord</em>)<br> + half4 <strong>read_imageh</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>, + float2 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> to do an element lookup in the + 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed + formats or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> The <strong>read_imageh</strong> calls that take integer coordinates must use a + sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized + coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode + set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or + <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>, int2 <em>coord</em>)<br> int4 <strong>read_imagei</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>, @@ -834,16 +884,16 @@ Each channel will be stored in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p> <p class="tableblock"> The <strong>read_image{i|ui}</strong> calls support a nearest filter only. @@ -869,13 +919,13 @@ <em>coord.w</em> is ignored.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode @@ -890,6 +940,38 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(read_only image3d_t <em>image</em>, sampler_t <em>sampler</em>, + int4 <em>coord</em> )<br> + half4 <strong>read_imageh</strong>(read_only image3d_t <em>image</em>, sampler_t <em>sampler</em>, + float4 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x</em>, <em>coord.y</em>, <em>coord.z)</em> to do an + elementlookup in the 3D image object specified by <em>image</em>. + <em>coord.w</em> is ignored.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> The <strong>read_imageh</strong> calls that take integer coordinates must use a + sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized + coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode + set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or + <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description are + undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(read_only image3d_t <em>image</em>, sampler_t <em>sampler</em>, int4 <em>coord</em>)<br> int4 <strong>read_imagei</strong>(read_only image3d_t <em>image</em>, sampler_t <em>sampler</em>, @@ -906,16 +988,16 @@ Each channel will be stored in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p> <p class="tableblock"> The <strong>read_image{i|ui}</strong> calls support a nearest filter only. @@ -939,24 +1021,59 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] - for image objects created with image_channel_data_type set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + for image objects created with <em>image_channel_data_type</em> set to one of + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] - for image objects created with image_channel_data_type set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + for image objects created with <em>image_channel_data_type</em> set to + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with - image_channel_data_type values not specified in the description above + <em>image_channel_data_type</em> values not specified in the description above are undefined.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(read_only image2d_array_t <em>image</em>, sampler_t + <em>sampler</em>, int4 <em>coord</em>)<br> + half4 <strong>read_imageh</strong>(read_only image2d_array_t <em>image</em>, sampler_t + <em>sampler</em>, float4 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by + <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> The <strong>read_imageh</strong> calls that take integer coordinates must use a + sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized + coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode + set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or + <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description above + are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(read_only image2d_array_t <em>image</em>, sampler_t <em>sampler</em>, int4 <em>coord</em>)<br> int4 <strong>read_imagei</strong>(read_only image2d_array_t <em>image</em>, sampler_t <em>sampler</em>, @@ -972,16 +1089,16 @@ Each channel will be stored in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p> <p class="tableblock"> The <strong>read_image{i|ui}</strong> calls support a nearest filter only. @@ -1006,13 +1123,13 @@ by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode @@ -1028,6 +1145,37 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>, + int <em>coord</em>)<br> + half4 <strong>read_imageh</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>, + float <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image object specified + by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> The <strong>read_imageh</strong> calls that take integer coordinates must use a + sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized + coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode + set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or + <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>, int <em>coord</em>)<br> int4 <strong>read_imagei</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>, @@ -1043,16 +1191,16 @@ Each channel will be stored in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p> <p class="tableblock"> The <strong>read_image{i|ui}</strong> calls support a nearest filter only. @@ -1077,25 +1225,60 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] - for image objects created with image_channel_data_type set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + for image objects created with <em>image_channel_data_type</em> set to one of + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] - for image objects created with image_channel_data_type set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + for image objects created with <em>image_channel_data_type</em> set to + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with - image_channel_data_type values not specified in the description above + <em>image_channel_data_type</em> values not specified in the description above are undefined.</p> <p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(read_only image1d_array_t <em>image</em>, + sampler_t <em>sampler</em>, int2 <em>coord</em>)<br> + half4 <strong>read_imageh</strong>(read_only image1d_array_t <em>image</em>, + sampler_t <em>sampler</em>, float2 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by + <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> The <strong>read_imageh</strong> calls that take integer coordinates must use a + sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized + coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode + set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or + <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description above + are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(read_only image1d_array_t <em>image</em>, sampler_t <em>sampler</em>, int2 <em>coord</em>)<br> int4 <strong>read_imagei</strong>(read_only image1d_array_t <em>image</em>, sampler_t <em>sampler</em>, @@ -1111,16 +1294,16 @@ in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p> <p class="tableblock"> The <strong>read_image{i|ui}</strong> calls support a nearest filter only. @@ -1146,7 +1329,7 @@ the 2D depth image object specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] for depth image objects created with <em>image_channel_data_type</em> set to - <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p> + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a @@ -1157,8 +1340,8 @@ <p class="tableblock"> Values returned by <strong>read_imagef</strong> for depth image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> @@ -1173,7 +1356,7 @@ <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] for depth image objects created with <em>image_channel_data_type</em> set to - <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p> + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> <p class="tableblock"> The <strong>read_imagef</strong> calls that take integer coordinates must use a @@ -1184,13 +1367,332 @@ <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float lod) + +int4 read_imagei( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float lod) + +uint4 read_imageui( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float lod) + +float read_imagef( + read_only image2d_depth_t image, + sampler_t sampler, + float2 coord, + float lod)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>coord.xy</em> to do an element lookup in the mip level + specified by <em>lod</em> in the 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float2 gradient_x, + float2 gradient_y) + +int4 read_imagei( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float2 gradient_x, + float2 gradient_y) + +uint4 read_imageui( + read_only image2d_t image, + sampler_t sampler, + float2 coord, + float2 gradient_x, + float2 gradient_y) + +float read_imagef( + read_only image2d_depth_t image, + sampler_t sampler, + float2 coord, + float2 gradient_x, + float2 gradient_y)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the gradients to compute the lod and coordinate <em>coord.xy</em> to do + an element lookup in the mip level specified by the computed lod in + the 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image1d_t image, + sampler_t sampler, + float coord, + float lod) + +int4 read_imagei( + read_only image1d_t image, + sampler_t sampler, + float coord, + float lod) + +uint4 read_imageui( + read_only image1d_t image, + sampler_t sampler, + float coord, + float lod)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>coord</em> to do an element lookup in the mip level + specified by <em>lod</em> in the 1D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image1d_t image, + sampler_t sampler, + float coord, + float gradient_x, + float gradient_y) + +int4 read_imagei( + read_only image1d_t image, + sampler_t sampler, + float coord, + float gradient_x, + float gradient_y) + +uint4 read_imageui( + read_only image1d_t image, + sampler_t sampler, + float coord, + float gradient_x, + float gradient_y)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the gradients to compute the lod and coordinate <em>coord</em> to do an + element lookup in the mip level specified by the computed lod in the + 1D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float lod) + +int4 read_imagei( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float lod) + +uint4 read_imageui( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float lod)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>coord.xyz</em> to do an element lookup in the mip + level specified by <em>lod</em> in the 3D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float4 gradient_x, + float4 gradient_y) + +int4 read_imagei( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float4 gradient_x, + float4 gradient_y) + +uint4 read_imageui( + read_only image3d_t image, + sampler_t sampler, + float4 coord, + float4 gradient_x, + float4 gradient_y)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the gradients to compute the lod and coordinate <em>coord.xyz</em> to do + an element lookup in the mip level specified by the computed lod in + the 3D image object specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float lod) + +int4 read_imagei( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float lod) + +uint4 read_imageui( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float lod)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>coord.x</em> to do an element lookup in the 1D image + identified by <em>coord.x</em> and mip level specified by <em>lod</em> in the 1D + image array specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float gradient_x, + float gradient_y) + +int4 read_imagei( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float gradient_x, + float gradient_y) + +uint4 read_imageui( + read_only image1d_array_t image, + sampler_t sampler, + float2 coord, + float gradient_x, + float gradient_y)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the gradients to compute the lod and coordinate <em>coord.x</em> to do an + element lookup in the mip level specified by the computed lod in the + 1D image array specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float lod) + +int4 read_imagei( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float lod) + +uint4 read_imageui( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float lod) + +float read_imagef( + read_only image2d_array_depth_t image, + sampler_t sampler, + float4 coord, + float lod)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>coord.xy</em> to do an element lookup in the 2D image + identified by <em>coord.z</em> and mip level specified by <em>lod</em> in the 2D + image array specified by <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float2 gradient_x, + float2 gradient_y) + +int4 read_imagei( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float2 gradient_x, + float2 gradient_y) + +uint4 read_imageui( + read_only image2d_array_t image, + sampler_t sampler, + float4 coord, + float2 gradient_x, + float2 gradient_y) + +float read_imagef( + read_only image2d_array_depth_t image, + sampler_t sampler, + float4 coord, + float2 gradient_x, + float2 gradient_y)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the gradients to compute the lod coordinate and <em>coord.xy</em> to do + an element lookup in the 2D image identified by <em>coord.z</em> and mip + level specified by the computed lod in the 2D image array specified by + <em>image</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>mipmap_<wbr>image</code> + extension macro.</p></td> +</tr> </tbody> </table> </div> @@ -1219,7 +1721,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1235,8 +1737,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/imageSamplerlessReadFunctions.html b/sdk/3.0/docs/man/html/imageSamplerlessReadFunctions.html index 75e962e..9c581bb 100644 --- a/sdk/3.0/docs/man/html/imageSamplerlessReadFunctions.html +++ b/sdk/3.0/docs/man/html/imageSamplerlessReadFunctions.html
@@ -804,7 +804,7 @@ </div> <div class="paragraph"> <p><em>aQual</em> in the following table refers to one of the access qualifiers. -For samplerless read functions this may be <code>read_only</code> or <code>read_write</code>.</p> +For sampler-less read functions this may be <code>read_only</code> or <code>read_write</code>.</p> </div> <table id="table-image-samplerless-read" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Image Sampler-less Read Functions</caption> @@ -812,24 +812,26 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in the 2D image object specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p></td> @@ -839,6 +841,29 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> to do an element lookup in the + 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)<br> uint4 <strong>read_imageui</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in @@ -848,16 +873,16 @@ in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p></td> </tr> @@ -872,13 +897,13 @@ <em>coord.w</em> is ignored.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description are undefined.</p></td> @@ -888,6 +913,30 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em> )</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x</em>, <em>coord.y</em>, <em>coord.z)</em> to do an element + lookup in the 3D image object specified by <em>image</em>. <em>coord.w</em> is + ignored.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description are + undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>)<br> uint4 <strong>read_imageui</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>, <em>coord.z</em>) to do an element @@ -898,16 +947,16 @@ Each channel will be stored in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p></td> </tr> @@ -921,13 +970,13 @@ <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p></td> @@ -937,6 +986,29 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by + <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)<br> uint4 <strong>read_imageui</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by @@ -946,16 +1018,16 @@ in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p></td> </tr> @@ -970,13 +1042,13 @@ object specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p></td> @@ -986,6 +1058,30 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>)<br> + half4 <strong>read_imageh</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image or 1D image buffer + object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>)<br> uint4 <strong>read_imageui</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>)<br> int4 <strong>read_imagei</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>)<br> @@ -997,16 +1093,16 @@ in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p></td> </tr> @@ -1020,13 +1116,13 @@ <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to one of - the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or - <code>CL_UNORM_INT16</code>.</p> + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] for image objects created with <em>image_channel_data_type</em> set to - <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p> + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created - with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p> + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p></td> @@ -1036,6 +1132,29 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 2D image identified by + <em>coord.y</em> in the 2D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [0.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or <code>CL_UNORM_<wbr>INT8</code>, or <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values in the + range [-1.0, 1.0] for image objects created with + <em>image_channel_data_type</em> set to <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imageh</strong> returns half-precision floating-point values for image + objects created with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imageh</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the <code>cl_khr_<wbr>fp16</code> extension + macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)<br> uint4 <strong>read_imageui</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by @@ -1045,16 +1164,16 @@ in a 32-bit integer.</p> <p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imagei</strong> are undefined.</p> <p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the values returned by <strong>read_imageui</strong> are undefined.</p></td> </tr> @@ -1068,14 +1187,14 @@ the 2D depth image object specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] for depth image objects created with <em>image_channel_data_type</em> set to - <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p> + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> @@ -1087,19 +1206,199 @@ <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] for depth image objects created with <em>image_channel_data_type</em> set to - <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p> + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> <p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> <p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above are undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + image2d_msaa_t image, + int2 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> and <em>sample</em> to do an element + lookup in the 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] + for image objects created with <em>image_channel_data_type</em> set to one of + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] + for image objects created with <em>image_channel_data_type</em> set to + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">int4 read_imagei( + image2d_msaa_t image, + int2 coord, + int sample) + +uint4 read_imageui( + image2d_msaa_t image, + int2 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> and <em>sample</em> to do an element + lookup in the 2D image object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer + and unsigned integer values respectively. + Each channel will be stored in a 32-bit integer.</p> +<p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> * <code>CL_SIGNED_<wbr>INT8</code>, + * <code>CL_SIGNED_<wbr>INT16</code>, and + * <code>CL_SIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the + values returned by <strong>read_imagei</strong> are undefined.</p> +<p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> * <code>CL_UNSIGNED_<wbr>INT8</code>, + * <code>CL_UNSIGNED_<wbr>INT16</code>, and + * <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the + values returned by <strong>read_imageui</strong> are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float4 read_imagef( + image2d_array_msaa_t image, + int4 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> and <em>sample</em> to do an element lookup in the 2D image + identified by <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0] + for image objects created with <em>image_channel_data_type</em> set to one of + the pre-defined packed formats or <code>CL_UNORM_<wbr>INT8</code>, or + <code>CL_UNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0] + for image objects created with <em>image_channel_data_type</em> set to + <code>CL_SNORM_<wbr>INT8</code>, or <code>CL_SNORM_<wbr>INT16</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns floating-point values for image objects created + with <em>image_channel_data_type</em> set to <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">int4 read_imagei( + image2d_array_msaa_t image, + int4 coord, + int sample) + +uint4 read_imageui( + image2d_array_msaa_t image, + int4 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> and <em>sample</em> to do an element lookup in the 2D image + identified by <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer + and unsigned integer values respectively. + Each channel will be stored in a 32-bit integer.</p> +<p class="tableblock"> <strong>read_imagei</strong> can only be used with image objects created with + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> * <code>CL_SIGNED_<wbr>INT8</code>, + * <code>CL_SIGNED_<wbr>INT16</code>, and + * <code>CL_SIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the + values returned by <strong>read_imagei</strong> are undefined.</p> +<p class="tableblock"> <strong>read_imageui</strong> can only be used with image objects created with + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> * <code>CL_UNSIGNED_<wbr>INT8</code>, + * <code>CL_UNSIGNED_<wbr>INT16</code>, and + * <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> If the <em>image_channel_data_type</em> is not one of the above values, the + values returned by <strong>read_imageui</strong> are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">float read_imagef( + image2d_msaa_depth_t image, + int2 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> and <em>sample</em> to do an element + lookup in the 2D depth image object specified by <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] + for depth image objects created with <em>image_channel_data_type</em> set to + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects + created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-c" data-lang="c">float read_imagef(image2d_array_msaaa_depth_t image, + int4 coord, + int sample)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> and <em>sample</em> to do an element lookup in the 2D image + identified by <em>coord.z</em> in the 2D depth image array specified by + <em>image</em>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0] + for depth image objects created with <em>image_channel_data_type</em> set to + <code>CL_UNORM_<wbr>INT16</code> or <code>CL_UNORM_<wbr>INT24</code>.</p> +<p class="tableblock"> <strong>read_imagef</strong> returns a floating-point value for depth image objects + created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p> +<p class="tableblock"> Values returned by <strong>read_imagef</strong> for image objects with + <em>image_channel_data_type</em> values not specified in the description + above are undefined.</p> +<p class="tableblock"> Note: When a multisample image is accessed in a kernel, the access + takes one vector of integers describing which pixel to fetch and an + integer corresponding to the sample numbers describing which sample + within the pixel to fetch. + <em>sample</em> identifies the sample position in the multi-sample image.</p> +<p class="tableblock"> <strong>For best performance, we recommend that <em>sample</em> be a literal value + so it is known at compile time and the OpenCL compiler can perform + appropriate optimizations for multi-sample reads on the device</strong>.</p> +<p class="tableblock"> No standard sampling instructions are allowed on the multisample + image. Accessing a coordinate outside the image and/or a sample that + is outside the number of samples associated with each pixel in the + image is undefined</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> </tbody> </table> </div> @@ -1128,7 +1427,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1138,8 +1437,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/imageWriteFunctions.html b/sdk/3.0/docs/man/html/imageWriteFunctions.html index 15127c1..864e89c 100644 --- a/sdk/3.0/docs/man/html/imageWriteFunctions.html +++ b/sdk/3.0/docs/man/html/imageWriteFunctions.html
@@ -781,21 +781,52 @@ <p><em>aQual</em> in the following table refers to one of the access qualifiers. For write functions this may be <code>write_only</code> or <code>read_write</code>.</p> </div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro is supported, write +functions which do not explicitly specify a level of detail <em>lod</em> write to +mip level 0 if <em>image</em> is a mipmapped image. +<em>mipwidth</em>, <em>mipheight</em>, and <em>mipdepth</em> in the table refer to the width, +height, and depth of the <em>image</em> mip level specified by <em>lod</em> respectively; +<em>miplayers</em> refers to the number of layers in <em>image</em>; and <em>miplevels</em> +refers to the number of mip levels in <em>image</em>.</p> +</div> +<div class="paragraph"> +<p>If the <code>cl_khr_<wbr>srgb_<wbr>image_<wbr>writes</code> extension macro is supported, the +<strong>write_imagef</strong> functions described below may write to sRGB images. +Linear to sRGB conversion is performed by the function. +Only the R, G, and B components are converted from linear to sRGB; the A +component is written as-is.</p> +</div> <table id="table-image-write" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Image Write Functions</caption> <colgroup> -<col style="width: 50%;"> -<col style="width: 50%;"> +<col style="width: 42.8571%;"> +<col style="width: 57.1429%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>, float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>, int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>, uint4 <em>color</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image2d_t <em>image</em>,<br> + int2 <em>coord</em>,<br> + float4 <em>color</em>)<br> + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image2d_t <em>image</em>,<br> + int2 <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image2d_t <em>image</em>,<br> + int2 <em>coord</em>,<br> + int4 <em>color</em>)<br> + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image2d_t <em>image</em>,<br> + int2 <em>coord</em>,<br> + uint4 <em>color</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the 2D image object specified by <em>image</em>. Appropriate data format conversion to the specified image format is @@ -803,39 +834,55 @@ <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates, and must be in the range [0, image width-1] and [0, image height-1] respectively.</p> -<p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with +<p class="tableblock"> <strong>write_imagef</strong> +and <strong>write_imageh</strong> + can only be used with image objects created with <em>image_channel_data_type</em> set to one of the pre-defined packed formats - or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>, - <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>. + or set to <code>CL_SNORM_<wbr>INT8</code>, <code>CL_UNORM_<wbr>INT8</code>, <code>CL_SNORM_<wbr>INT16</code>, + <code>CL_UNORM_<wbr>INT16</code>, <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert channel data from a floating-point value to actual data format in which the channels are stored.</p> <p class="tableblock"> <strong>write_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> <strong>write_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> -<p class="tableblock"> The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> The behavior of <strong>write_imagef</strong>, +<strong>write_imageh</strong>, + <strong>write_imagei</strong> and <strong>write_imageui</strong> for image objects created with <em>image_channel_data_type</em> values not specified in the description above or with <em>x</em> and <em>y</em> coordinate values that are not in the range [0, image width-1] and [0, image - height-1], respectively, is undefined.</p></td> + height-1], respectively, is undefined.</p> +<p class="tableblock"> <strong>write_imageh</strong> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for the + <code>cl_khr_<wbr>fp16</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image2d_array_t <em>image</em>,<br> + int4 <em>coord</em>,<br> float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>, + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image2d_array_t <em>image</em>,<br> + int4 <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image2d_array_t <em>image</em>,<br> + int4 <em>coord</em>,<br> int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>, + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image2d_array_t <em>image</em>,<br> + int4 <em>coord</em>,<br> uint4 <em>color</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the 2D image identified by <em>coord.z</em> in the 2D image array specified by @@ -845,46 +892,72 @@ <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized coordinates, and must be in the range [0, image width-1] and [0, image height-1], and [0, image number of layers-1], respectively.</p> -<p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with +<p class="tableblock"> <strong>write_imagef</strong> +and <strong>write_imageh</strong> + can only be used with image objects created with <em>image_channel_data_type</em> set to one of the pre-defined packed formats - or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>, - <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>. + or set to <code>CL_SNORM_<wbr>INT8</code>, <code>CL_UNORM_<wbr>INT8</code>, <code>CL_SNORM_<wbr>INT16</code>, + <code>CL_UNORM_<wbr>INT16</code>, <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert channel data from a floating-point value to actual data format in which the channels are stored.</p> <p class="tableblock"> <strong>write_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> <strong>write_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> -<p class="tableblock"> The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> The behavior of <strong>write_imagef</strong>, +<strong>write_imageh</strong>, + <strong>write_imagei</strong> and <strong>write_imageui</strong> for image objects created with <em>image_channel_data_type</em> values not specified in the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate values that are not in the range [0, image width-1], [0, image height-1], and [0, image number of layers-1], respectively, is - undefined.</p></td> + undefined.</p> +<p class="tableblock"> <strong>write_imageh</strong> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for the + <code>cl_khr_<wbr>fp16</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image1d_t <em>image</em>,<br> + int <em>coord</em>,<br> float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>, + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image1d_t <em>image</em>,<br> + int <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image1d_t <em>image</em>,<br> + int <em>coord</em>,<br> int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>, + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image1d_t <em>image</em>,<br> + int <em>coord</em>,<br> uint4 <em>color</em>)<br> - void <strong>write_imagef</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>, + void <strong>write_imagef</strong>(<br> + <em>aQual</em> image1d_buffer_t <em>image</em>,<br> + int <em>coord</em>,<br> float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>, + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image1d_buffer_t <em>image</em>,<br> + int <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image1d_buffer_t <em>image</em>,<br> + int <em>coord</em>,<br> int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>, + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image1d_buffer_t <em>image</em>,<br> + int <em>coord</em>,<br> uint4 <em>color</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord</em> in the 1D image or 1D image buffer object specified by <em>image</em>. @@ -892,39 +965,55 @@ done before writing the color value. <em>coord</em> is considered to be an unnormalized coordinate, and must be in the range [0, image width-1].</p> -<p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with +<p class="tableblock"> <strong>write_imagef</strong> +and <strong>write_imageh</strong> + can only be used with image objects created with <em>image_channel_data_type</em> set to one of the pre-defined packed formats - or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>, - <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>. + or set to <code>CL_SNORM_<wbr>INT8</code>, <code>CL_UNORM_<wbr>INT8</code>, <code>CL_SNORM_<wbr>INT16</code>, + <code>CL_UNORM_<wbr>INT16</code>, <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert channel data from a floating-point value to actual data format in which the channels are stored.</p> <p class="tableblock"> <strong>write_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> <strong>write_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> -<p class="tableblock"> The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> The behavior of <strong>write_imagef</strong>, +<strong>write_imageh</strong>, + <strong>write_imagei</strong> and <strong>write_imageui</strong> for image objects created with <em>image_channel_data_type</em> values not specified in the description above, or with a coordinate value that is not in the range [0, image width-1], is undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer.</p> +<p class="tableblock"> <strong>write_imageh</strong> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for the + <code>cl_khr_<wbr>fp16</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image1d_array_t <em>image</em>,<br> + int2 <em>coord</em>,<br> float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>, + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image1d_array_t <em>image</em>,<br> + int2 <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image1d_array_t <em>image</em>,<br> + int2 <em>coord</em>,<br> int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>, + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image1d_array_t <em>image</em>,<br> + int2 <em>coord</em>, uint4 <em>color</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.x</em> in the 1D image identified by <em>coord.y</em> in the 1D image array specified by <em>image</em>. @@ -933,24 +1022,28 @@ <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates and must be in the range [0, image width-1] and [0, image number of layers-1], respectively.</p> -<p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with +<p class="tableblock"> <strong>write_imagef</strong> +and <strong>write_imageh</strong> + can only be used with image objects created with <em>image_channel_data_type</em> set to one of the pre-defined packed formats - or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>, - <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>. + or set to <code>CL_SNORM_<wbr>INT8</code>, <code>CL_UNORM_<wbr>INT8</code>, <code>CL_SNORM_<wbr>INT16</code>, + <code>CL_UNORM_<wbr>INT16</code>, <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert channel data from a floating-point value to actual data format in which the channels are stored.</p> <p class="tableblock"> <strong>write_imagei</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code> and<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> <strong>write_imageui</strong> can only be used with image objects created with <em>image_channel_data_type</em> set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> -<p class="tableblock"> The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code> and<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> The behavior of <strong>write_imagef</strong>, +<strong>write_imageh</strong>, + <strong>write_imagei</strong> and <strong>write_imageui</strong> for image objects created with <em>image_channel_data_type</em> values not specified in the description above or with (<em>x</em>, <em>y</em>) coordinate values that are not in the range [0, image width-1] and [0, image @@ -962,7 +1055,9 @@ <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image2d_depth_t <em>image</em>, int2 <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image2d_depth_t <em>image</em>,<br> + int2 <em>coord</em>,<br> float <em>depth</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>depth</em> value to location specified by <em>coord.xy</em> in the 2D depth image object specified by <em>image</em>. @@ -972,7 +1067,7 @@ and must be in the range [0, image width-1], and [0, image height-1], respectively.</p> <p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with - <em>image_channel_data_type</em> set to <code>CL_UNORM_INT16</code>, <code>CL_UNORM_INT24</code> or + <em>image_channel_data_type</em> set to <code>CL_UNORM_<wbr>INT16</code>, <code>CL_UNORM_<wbr>INT24</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert depth valye from a floating-point value to actual data format associated with the @@ -982,15 +1077,17 @@ specified in the description above or with (<em>x</em>, <em>y</em>) coordinate values that are not in the range [0, image width-1] and [0, image height-1], respectively, is undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>, int4 <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image2d_array_depth_t <em>image</em>,<br> + int4 <em>coord</em>,<br> float <em>depth</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>depth</em> value to location specified by <em>coord.xy</em> in the 2D image identified by <em>coord.z</em> in the 2D depth image array specified by @@ -1001,7 +1098,7 @@ coordinates, and must be in the range [0, image width-1], [0, image height-1], and [0, image number of layers-1], respectively.</p> <p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with - <em>image_channel_data_type</em> set to <code>CL_UNORM_INT16</code>, <code>CL_UNORM_INT24</code> or + <em>image_channel_data_type</em> set to <code>CL_UNORM_<wbr>INT16</code>, <code>CL_UNORM_<wbr>INT24</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert depth valye from a floating-point value to actual data format associated with the @@ -1011,52 +1108,254 @@ specified in the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate values that are not in the range [0, image width-1], [0, image height-1], [0, image number of layers-1], respectively, is undefined.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>, +<td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imagef</strong>(<br> + <em>aQual</em> image3d_t <em>image</em>,<br> + int4 <em>coord</em>,<br> float4 <em>color</em>)<br> - void <strong>write_imagei</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>, + void <strong>write_imageh</strong>(<br> + <em>aQual</em> image3d_t <em>image</em>,<br> + int4 <em>coord</em>,<br> + half4 <em>color</em>)<br> + void <strong>write_imagei</strong>(<br> + <em>aQual</em> image3d_t <em>image</em>,<br> + int4 <em>coord</em>,<br> int4 <em>color</em>)<br> - void <strong>write_imageui</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>, + void <strong>write_imageui</strong>(<br> + <em>aQual</em> image3d_t <em>image</em>,<br> + int4 <em>coord</em>,<br> uint4 <em>color</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Write color value to location specified by <em>coord.xyz</em> in the 3D image - object specified by <em>image</em>. +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to the location specified by <em>coord.xyz</em> in the 3D + image object specified by <em>image</em>. Appropriate data format conversion to the specified image format is done before writing the color value. <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized coordinates, and must be in the range [0, image width-1], [0, image height-1], and [0, image depth-1], respectively.</p> -<p class="tableblock"> <strong>write_imagef</strong> can only be used with image objects created with - image_channel_data_type set to one of the pre-defined packed formats - or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>, - <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>. +<p class="tableblock"> <strong>write_imagef</strong> +and <strong>write_imageh</strong> + can only be used with image objects created with + <em>image_channel_data_type</em> set to one of the pre-defined packed formats + or set to <code>CL_SNORM_<wbr>INT8</code>, <code>CL_UNORM_<wbr>INT8</code>, <code>CL_SNORM_<wbr>INT16</code>, + <code>CL_UNORM_<wbr>INT16</code>, <code>CL_HALF_<wbr>FLOAT</code> or <code>CL_FLOAT</code>. Appropriate data format conversion will be done to convert channel data from a floating-point value to actual data format in which the channels are stored.</p> <p class="tableblock"> <strong>write_imagei</strong> can only be used with image objects created with - image_channel_data_type set to one of the following values:</p> -<p class="tableblock"> <code>CL_SIGNED_INT8</code>,<br> - <code>CL_SIGNED_INT16</code> and<br> - <code>CL_SIGNED_INT32</code>.</p> + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> <code>CL_SIGNED_<wbr>INT8</code>,<br> + <code>CL_SIGNED_<wbr>INT16</code>, or<br> + <code>CL_SIGNED_<wbr>INT32</code>.</p> <p class="tableblock"> <strong>write_imageui</strong> can only be used with image objects created with - image_channel_data_type set to one of the following values:</p> -<p class="tableblock"> <code>CL_UNSIGNED_INT8</code>,<br> - <code>CL_UNSIGNED_INT16</code> and<br> - <code>CL_UNSIGNED_INT32</code>.</p> -<p class="tableblock"> The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for + <em>image_channel_data_type</em> set to one of the following values:</p> +<p class="tableblock"> <code>CL_UNSIGNED_<wbr>INT8</code>,<br> + <code>CL_UNSIGNED_<wbr>INT16</code>, or<br> + <code>CL_UNSIGNED_<wbr>INT32</code>.</p> +<p class="tableblock"> The behavior of <strong>write_imagef</strong>, +<strong>write_imageh</strong>, + <strong>write_imagei</strong> and <strong>write_imageui</strong> for image objects with <em>image_channel_data_type</em> values not specified in the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate values that are not in the range [0, image width-1], [0, image height-1], and [0, image depth-1], respectively, is undefined.</p> <p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0, or OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>3d_<wbr>image_<wbr>writes</code> feature, or the - <code>cl_khr_3d_image_writes</code> extension.</p></td> + <code>cl_khr_<wbr>3d_<wbr>image_<wbr>writes</code> extension.</p> +<p class="tableblock"> <strong>write_imageh</strong> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for the + <code>cl_khr_<wbr>fp16</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void write_imagef( + write_only image2d_t image, + int2 coord, + int lod, + float4 color) + +void write_imagei( + write_only image2d_t image, + int2 coord, + int lod, + int4 color) + +void write_imageui( + write_only image2d_t image, + int2 coord, + int lod, + uint4 color) + +void write_imagef( + write_only image2d_depth_t image, + int2 coord, + int lod, + float depth)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the mip + level specified by <em>lod</em> in the 2D image object specified by <em>image</em>. + Appropriate data format conversion to the specified image format is + done before writing the color value.</p> +<p class="tableblock"> <em>lod</em> must be in the range [0, <em>miplevels</em>-1]. + <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates + and must be in the range [0, <em>mipwidth</em>-1] and [0, <em>mipheight</em>-1] + respectively. + Behavior is undefined if <em>lod</em>, <em>coord.x</em>, or <em>coord.y</em> is not in + range.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void write_imagef( + write_only image1d_t image, + int coord, + int lod, + float4 color) + +void write_imagei( + write_only image1d_t image, + int coord, + int lod, + int4 color) + +void write_imageui( + write_only image1d_t image, + int coord, + int lod, + uint4 color)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord</em> in the mip level + specified by <em>lod</em> in the 1D image object specified by <em>image</em>. + Appropriate data format conversion to the specified image format is + done before writing the color value.</p> +<p class="tableblock"> <em>lod</em> must be in the range [0, <em>miplevels</em>-1]. + <em>coord</em> is considered to be an unnormalized coordinate and must be in + the range [0, <em>mipwidth</em>-1]. + Behavior is undefined if <em>lod</em> or <em>coord</em> is not in range.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void write_imagef( + write_only image1d_array_t image, + int2 coord, + int lod, + float4 color) + +void write_imagei( + write_only image1d_array_t image, + int2 coord, + int lod, + int4 color) + +void write_imageui( + write_only image1d_array_t image, + int2 coord, + int lod, + uint4 color)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.x</em> in the 1D image + identified by <em>coord.y</em> and mip level <em>lod</em> in the 1D image array + specified by <em>image</em>. + Appropriate data format conversion to the specified image format is done + before writing the color value.</p> +<p class="tableblock"> <em>lod</em> must be in the range [0, <em>miplevels</em>-1]. + <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates + and must be in the range [0, <em>mipwidth</em>-1] and [0, <em>miplayers</em> -1] + respectively. + Behavior is undefined if <em>lod</em>, <em>coord.x</em>, or <em>coord.y</em> is not in range.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void write_imagef( + write_only image2d_array_t image, + int4 coord, + int lod, + float4 color) + +void write_imagei( + write_only image2d_array_t image, + int4 coord, + int lod, + int4 color) + +void write_imageui( + write_only image2d_array_t image, + int4 coord, + int lod, + uint4 color) + +void write_imagef( + write_only image2d_array_depth_t image, + int4 coord, + int lod, + float depth)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the 2D image + identified by <em>coord.z</em> and mip level <em>lod</em> in the 2D image array + specified by <em>image</em>. + Appropriate data format conversion to the specified image format is done + before writing the color value.</p> +<p class="tableblock"> <em>lod</em> must be in the range [0, <em>miplevels</em>-1]. + <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized + coordinates and must be in the range [0, <em>mipwidth</em>-1], [0, + <em>mipheight</em>-1], and [0, <em>miplayers</em>-1] respectively. + Behavior is undefined if + <em>lod</em>, <em>coord.x</em>, <em>coord.y</em>, or <em>coord.z</em> is not in range.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">void write_imagef( + write_only image3d_t image, + int4 coord, + int lod, + float4 color) + +void write_imagei( + write_only image3d_t image, + int4 coord, + int lod, + int4 color) + +void write_imageui( + write_only image3d_t image, + int4 coord, + int lod, + uint4 color)</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xyz</em> and mip level + <em>lod</em> in the 3D image object specified by <em>image</em>. + Appropriate data format conversion to the specified image format is done + before writing the color value.</p> +<p class="tableblock"> <em>lod</em> must be in the range [0, <em>miplevels</em>-1]. + <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized + coordinates and must be in the range [0, <em>mipwidth</em>-1], [0, + <em>mipheight</em>-1] and [0, <em>mipdepth</em>-1] respectively. + Behavior is undefined if <em>lod</em>, <em>coord.x</em>, <em>coord.y</em>, or <em>coord.z</em> is + not in range.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>mipmap_<wbr>image_<wbr>writes</code> extension macro.</p></td> </tr> </tbody> </table> @@ -1086,7 +1385,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1096,8 +1395,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/indirectionOperator.html b/sdk/3.0/docs/man/html/indirectionOperator.html index e0116b6..eb15b5c 100644 --- a/sdk/3.0/docs/man/html/indirectionOperator.html +++ b/sdk/3.0/docs/man/html/indirectionOperator.html
@@ -809,7 +809,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -825,8 +825,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/integerFunctions.html b/sdk/3.0/docs/man/html/integerFunctions.html index a644319..3020ee2 100644 --- a/sdk/3.0/docs/man/html/integerFunctions.html +++ b/sdk/3.0/docs/man/html/integerFunctions.html
@@ -803,8 +803,9 @@ <em>n</em> is 2, 3, 4, 8, or 16.</p> </div> <div class="paragraph"> -<p>For any specific use of a function, the actual type has to be the same for -all arguments and the return type unless otherwise specified.</p> +<p>For any specific use of a function with <code>gentype*</code> arguments the actual type +has to be the same for all arguments and the return type, unless they are +explicitly specified as an actual type.</p> </div> <table id="table-builtin-functions" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Scalar and Vector Integer Argument Functions</caption> @@ -812,11 +813,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">ugentype <strong>abs</strong>(gentype <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns |x|.</p></td> @@ -862,6 +865,61 @@ <p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL 2.0 or newer.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>dot</strong>(uchar4 a, uchar4 b)<br> + int <strong>dot</strong>(char4 a, char4 b)<br> + int <strong>dot</strong>(uchar4 a, char4 b)<br> + int <strong>dot</strong>(char4 a, uchar4 b)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dot</code> returns the dot product of the two input vectors <code>a</code> and <code>b</code>. + The components of <code>a</code> and <code>b</code> are sign- or zero-extended to the width + of the destination type and the vectors with extended components are + multiplied component-wise. + All the components of the resulting vectors are added together to form + the final result.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> that the + <code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit</code> feature macro is defined,</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>dot_acc_sat</strong>(uchar4 a, uchar4 b, uint acc)<br> + int <strong>dot_acc_sat</strong>(char4 a, char4 b, int acc)<br> + int <strong>dot_acc_sat</strong>(uchar4 a, char4 b, int acc)<br> + int <strong>dot_acc_sat</strong>(char4 a, uchar4 b, int acc)</p></td> +<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> +<p><code>dot_acc_sat</code> returns the saturating addition of the dot product of + the two input vectors <code>a</code> and <code>b</code> and the accumulator <code>acc</code>:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>product = dot(a,b); +result = add_sat(product, acc);</pre> +</div> +</div> +<div class="paragraph"> +<p><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> that the +<code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit</code> feature macro is defined,</p> +</div></div></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>dot_4x8packed_uu_uint</strong>(uint a, uint b)<br> + int <strong>dot_4x8packed_ss_int</strong>(uint a, uint b)<br> + int <strong>dot_4x8packed_us_int</strong>(uint a, uint b)<br> + int <strong>dot_4x8packed_su_int</strong>(uint a, uint b)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>dot</strong> for 4x8 bit input vectors packed into a 32-bit word.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> that the + <code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit_<wbr>packed</code> feature macro is + defined,</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>dot_acc_sat_4x8packed_uu_uint</strong>(uint a, uint b, uint acc)<br> + int <strong>dot_acc_sat_4x8packed_ss_int</strong>(uint a, uint b, int acc)<br> + int <strong>dot_acc_sat_4x8packed_us_int</strong>(uint a, uint b, int acc)<br> + int <strong>dot_acc_sat_4x8packed_su_int</strong>(uint a, uint b, int acc)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>dot_acc_set</strong> for 4x8 bit input vectors packed into a 32-bit + word.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> that the + <code>__opencl_c_<wbr>integer_<wbr>dot_<wbr>product_<wbr>input_<wbr>4x8bit_<wbr>packed</code> feature macro is + defined,</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mad_hi</strong>(gentype <em>a</em>, gentype <em>b</em>, gentype <em>c</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>mul_hi</strong>(<em>a</em>, <em>b</em>) + <em>c</em>.</p></td> </tr> @@ -870,14 +928,14 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>a</em> * <em>b</em> + <em>c</em> and saturates the result.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>max</strong>(gentype <em>x</em>, gentype <em>y</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.1 or newer:<br></p> +<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>max</strong>(gentype <em>x</em>, gentype <em>y</em>)</p> +<p class="tableblock"> For OpenCL C 1.1 or newer:</p> <p class="tableblock"> gentype <strong>max</strong>(gentype <em>x</em>, sgentype <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>x</em> < <em>y</em>, otherwise it returns <em>x</em>.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>min</strong>(gentype <em>x</em>, gentype <em>y</em>)<br></p> -<p class="tableblock"> For OpenCL C 1.1 or newer:<br></p> +<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>min</strong>(gentype <em>x</em>, gentype <em>y</em>)</p> +<p class="tableblock"> For OpenCL C 1.1 or newer:</p> <p class="tableblock"> gentype <strong>min</strong>(gentype <em>x</em>, sgentype <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>y</em> < <em>x</em>, otherwise it returns <em>x</em>.</p></td> </tr> @@ -919,13 +977,13 @@ ulong <strong>upsample</strong>(uint <em>hi</em>, uint <em>lo</em>)<br> long<em>n</em> <strong>upsample</strong>(int<em>n</em> <em>hi</em>, uint<em>n</em> <em>lo</em>)<br> ulong<em>n</em> <strong>upsample</strong>(uint<em>n</em> <em>hi</em>, uint<em>n</em> <em>lo</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>result</em>[i] = ((long)<em>hi</em>[i] link:https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html# 32) | <em>lo</em>[i]<br> +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>result</em>[i] = ((long)<em>hi</em>[i] << 32) | <em>lo</em>[i]<br> <em>result</em>[i] = ((ulong)<em>hi</em>[i] << 32) | <em>lo</em>[i]</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>popcount</strong>(gentype <em>x</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of non-zero bits in <em>x</em>.<br></p> -<p class="tableblock"> <<unified-spec[Requires^] support for OpenCL C 1.2 or newer.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of non-zero bits in <em>x</em>.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer.</p></td> </tr> </tbody> </table> @@ -942,11 +1000,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mad24</strong>(gentype <em>x</em>, gentype <em>y</em>, gentype z)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Multipy two 24-bit integer values <em>x</em> and <em>y</em> and add the 32-bit @@ -993,7 +1053,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1004,7 +1064,7 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Frequently vector operations need n + 1 bits temporarily to calculate a result. The <strong>rhadd</strong> instruction gives you an extra bit without needing to upsample and downsample. This can be a profound performance win. @@ -1012,8 +1072,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/integerMacros.html b/sdk/3.0/docs/man/html/integerMacros.html index e574aa3..535b140 100644 --- a/sdk/3.0/docs/man/html/integerMacros.html +++ b/sdk/3.0/docs/man/html/integerMacros.html
@@ -808,70 +808,72 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Macro in OpenCL Language</th> +<th class="tableblock halign-left valign-top">Macro for application</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro in OpenCL Language</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Macro for application</strong></p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CHAR_BIT</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_BIT</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_<wbr>BIT</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CHAR_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CHAR_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_CHAR_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>INT_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_INT_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_INT_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>INT_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_INT_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_INT_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>LONG_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_LONG_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_LONG_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>LONG_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_LONG_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_LONG_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SCHAR_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SCHAR_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SCHAR_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SCHAR_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SCHAR_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SCHAR_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SHRT_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SHRT_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SHRT_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SHRT_MIN</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SHRT_MIN</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_SHRT_<wbr>MIN</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>UCHAR_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UCHAR_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UCHAR_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>USHRT_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_USHRT_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_USHRT_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>UINT_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UINT_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UINT_<wbr>MAX</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>ULONG_MAX</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ULONG_MAX</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_ULONG_<wbr>MAX</code></p></td> </tr> </tbody> </table> @@ -901,7 +903,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -911,8 +913,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/intro.html b/sdk/3.0/docs/man/html/intro.html index eb91cb3..f0a9307 100644 --- a/sdk/3.0/docs/man/html/intro.html +++ b/sdk/3.0/docs/man/html/intro.html
@@ -766,9 +766,9 @@ <div id="header"> <h1>OpenCL Reference Pages</h1> <div class="details"> -<span id="revnumber">version v3.0.15,</span> -<span id="revdate">Thu, 14 Dec 2023 20:00:00 +0000</span> -<br><span id="revremark">from git branch: main commit: 3c1a38cbdbbe6586f44c718e87585de4b2924a3f</span> +<span id="revnumber">version v3.0.16,</span> +<span id="revdate">Thu, 04 Apr 2024 12:00:0 +0000</span> +<br><span id="revremark">from git branch: main commit: 16880f9276828e66bb97017f10f34f97423d1bcf</span> </div> </div> <div id="content"> @@ -847,8 +847,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/kernel.html b/sdk/3.0/docs/man/html/kernel.html index 8e19802..8f2d117 100644 --- a/sdk/3.0/docs/man/html/kernel.html +++ b/sdk/3.0/docs/man/html/kernel.html
@@ -840,7 +840,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -850,8 +850,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/kernelQueryFunctions.html b/sdk/3.0/docs/man/html/kernelQueryFunctions.html index 46b5d9a..6ca56ba 100644 --- a/sdk/3.0/docs/man/html/kernelQueryFunctions.html +++ b/sdk/3.0/docs/man/html/kernelQueryFunctions.html
@@ -780,23 +780,25 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Built-in Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> <tbody> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Built-in Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_work_group_size</strong>(void (^block)(void))<br> - uint <strong>get_kernel_work_group_size</strong>(void (^block)(local void *, …​))</p></td> + uint <strong>get_kernel_work_group_size</strong>(void (^block)(local {localArgType} *, …​))</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">This provides a mechanism to query the maximum work-group size that can be used to execute a block on a specific device given by <em>device</em>.</p> <p class="tableblock"> <em>block</em> specifies the block to be enqueued.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_preferred_</strong> <strong>work_group_size_multiple</strong>( +<td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_preferred_​work_group_size_multiple</strong>( void (^block)(void))<br> - uint <strong>get_kernel_preferred_</strong> <strong>work_group_size_multiple</strong>( - void (^block)(local void *, …​))</p></td> + uint <strong>get_kernel_preferred_​work_group_size_multiple</strong>( + void (^block)(local {localArgType} *, …​))</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the preferred multiple of work-group size for launch. This is a performance hint. Specifying a work-group size that is not a multiple of the value @@ -832,7 +834,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -842,8 +844,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/legacyFenceFunctions.html b/sdk/3.0/docs/man/html/legacyFenceFunctions.html index 42c208c..74ae6e8 100644 --- a/sdk/3.0/docs/man/html/legacyFenceFunctions.html +++ b/sdk/3.0/docs/man/html/legacyFenceFunctions.html
@@ -798,14 +798,14 @@ </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>mem_fence</strong>(<br> - cl_mem_fence_flags <em>flags</em>)<br></p></td> + cl_mem_fence_flags <em>flags</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Orders loads and stores of a work-item executing a kernel. This means that loads and stores preceding the <strong>mem_fence</strong> will be committed to memory before any loads and stores following the <strong>mem_fence</strong>.</p> @@ -817,7 +817,7 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>read_mem_fence</strong>(<br> - cl_mem_fence_flags <em>flags</em>)<br></p></td> + cl_mem_fence_flags <em>flags</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Read memory barrier that orders only loads.</p> <p class="tableblock"> The <em>flags</em> argument specifies the memory address space and can be set to a combination of the following literal values:</p> @@ -827,7 +827,7 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_mem_fence</strong>(<br> - cl_mem_fence_flags <em>flags</em>)<br></p></td> + cl_mem_fence_flags <em>flags</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write memory barrier that orders only stores.</p> <p class="tableblock"> The <em>flags</em> argument specifies the memory address space and can be set to a combination of the following literal values:</p> @@ -863,7 +863,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -873,8 +873,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/local.html b/sdk/3.0/docs/man/html/local.html index 85c8cf3..3e1044f 100644 --- a/sdk/3.0/docs/man/html/local.html +++ b/sdk/3.0/docs/man/html/local.html
@@ -835,7 +835,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -845,8 +845,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/logicalOperators.html b/sdk/3.0/docs/man/html/logicalOperators.html index 921749e..34b96f1 100644 --- a/sdk/3.0/docs/man/html/logicalOperators.html +++ b/sdk/3.0/docs/man/html/logicalOperators.html
@@ -798,7 +798,9 @@ are scalar and a vector signed integer type of the same size as the source operands if the source operands are vector types. Vector source operands of type <code>char<em>n</em></code> and <code>uchar<em>n</em></code> return a -<code>char<em>n</em></code> result; vector source operands of type <code>short<em>n</em></code> and +<code>char<em>n</em></code> result; vector source operands of type +<code>_half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, +<code>short<em>n</em></code> and <code>ushort<em>n</em></code> return a <code>short<em>n</em></code> result; vector source operands of type <code>int<em>n</em></code>, <code>uint<em>n</em></code> and <code>float<em>n</em></code> return an <code>int<em>n</em></code> result; vector source operands of type <code>long<em>n</em></code>, <code>ulong<em>n</em></code> and <code>double<em>n</em></code> return a @@ -806,9 +808,9 @@ </div> <div class="paragraph"> <p>For scalar types, the logical operators shall return 0 if the result of the -operation is <em>false</em> and 1 if the result is <em>true</em>. +operation is <em>false</em> and return 1 if the result is <em>true</em>. For vector types, the logical operators shall return 0 if the result of the -operation is <em>false</em> and -1 (i.e. all bits set) if the result is <em>true</em>.</p> +operation is <em>false</em> and return -1 (i.e. all bits set) if the result is <em>true</em>.</p> </div> </div> </div> @@ -836,7 +838,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -844,10 +846,16 @@ </div> </div> </div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +</div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/mathConstants.html b/sdk/3.0/docs/man/html/mathConstants.html index 1beeb9f..f707e84 100644 --- a/sdk/3.0/docs/man/html/mathConstants.html +++ b/sdk/3.0/docs/man/html/mathConstants.html
@@ -775,7 +775,7 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The following symbolic constants are available. +<p>The following constants are available. Their values are of type <code>float</code> and are accurate within the precision of a single precision floating-point number.</p> </div> @@ -784,11 +784,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Constant Name</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Constant Name</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>MAXFLOAT</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Value of maximum non-infinite single-precision floating-point number.</p></td> @@ -811,20 +813,21 @@ </tbody> </table> <div class="paragraph"> -<p>If double precision is supported by the device, e.g. for OpenCL C 3.0 or newer -the <code>__opencl_c_<wbr>fp64</code> feature macro is present, the following symbolic -constants will also be available:</p> +<p>If <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#double-precision-support" target="_blank" rel="noopener">double-precision is supported by the +device</a>, then the following constants are also available:</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Constant Name</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Constant Name</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>HUGE_VAL</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A positive double constant expression. @@ -859,7 +862,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -869,8 +872,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/mathFunctions.html b/sdk/3.0/docs/man/html/mathFunctions.html index d034aa8..9d0a44b 100644 --- a/sdk/3.0/docs/man/html/mathFunctions.html +++ b/sdk/3.0/docs/man/html/mathFunctions.html
@@ -798,21 +798,89 @@ if called with the round to nearest even rounding mode.</p> </div> <div class="paragraph"> -<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-math" target="_blank" rel="noopener">Built-in Scalar and Vector Argument Math Functions</a> -table describes the list of built-in math functions that can take scalar or -vector arguments. -We use the generic type name <code>gentype</code> to indicate that the function can take -<code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, <code>float16</code>, <code>double</code> -<sup class="footnote" id="_footnote_double-supported">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>double2</code>, -<code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code> as the type for the arguments. -We use the generic type name <code>gentypef</code> to indicate that the function can -take <code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code> as the -type for the arguments. -We use the generic type name <code>gentyped</code> <sup class="footnoteref">[<a class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> to -indicate that the function can take <code>double</code>, <code>double2</code>, <code>double3</code>, <code>double4</code>, -<code>double8</code> or <code>double16</code> as the type for the arguments. -For any specific use of a function, the actual type has to be the same for -all arguments and the return type, unless otherwise specified.</p> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-math" target="_blank" rel="noopener">Built-in Scalar and Vector Argument Math +Functions</a> table describes the list of built-in math functions that can +take scalar or vector arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentype</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code></p> +</li> +<li> +<p><code>double</code> <sup class="footnote" id="_footnote_double-supported">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>double2</code>, +<code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code></p> +</li> +<li> +<p><code>half</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, <code>half2</code>, <code>half3</code>, <code>half4</code>, +<code>half8</code> or <code>half16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypef</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code>, or <code>float16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentyped</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>double</code>, <code>double2</code>, <code>double3</code>, <code>double4</code>, <code>double8</code> or <code>double16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentypeh</code> <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup> indicates +that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>half</code>, <code>half2</code>, <code>half3</code>, <code>half4</code>, <code>half8</code> or <code>half16</code></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +All functions taking or returning <code>half</code> types are supported only when +the <code>cl_khr_<wbr>fp16</code> extension macro is supported. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>For any specific use of a function with <code>gentype*</code> arguments the actual type +has to be the same for all arguments and the return type, unless they are +explicitly specified as an actual type.</p> </div> <table id="table-builtin-math" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Scalar and Vector Argument Math Functions</caption> @@ -820,11 +888,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>acos</strong>(gentype)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Arc cosine function. Returns an angle in radians.</p></td> @@ -901,7 +971,7 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>erf</strong>(gentype)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Error function encountered in integrating the - <a href="http://mathworld.wolfram.com/NormalDistribution.html"><em>normal + <a href="https://mathworld.wolfram.com/NormalDistribution.html"><em>normal distribution</em></a>.</p></td> </tr> <tr> @@ -926,7 +996,7 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fdim</strong>(gentype <em>x</em>, gentype <em>y</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>x</em> - <em>y</em> if <em>x</em> > <em>y</em>, +0 if <em>x</em> is less than or equal to y.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>x</em> - <em>y</em> if <em>x</em> > <em>y</em>, +0 if <em>x</em> is less than or equal to <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>floor</strong>(gentype)</p></td> @@ -943,7 +1013,8 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fmax</strong>(gentype <em>x</em>, gentype <em>y</em>)<br> gentypef <strong>fmax</strong>(gentypef <em>x</em>, float <em>y</em>)<br> - gentyped <strong>fmax</strong>(gentyped <em>x</em>, double <em>y</em>)</p></td> + gentyped <strong>fmax</strong>(gentyped <em>x</em>, double <em>y</em>)</p> +<p class="tableblock">gentypeh <strong>fmax</strong>(gentypeh <em>x</em>, half <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>x</em> < <em>y</em>, otherwise it returns <em>x</em>. If one argument is a NaN, <strong>fmax</strong>() returns the other argument. If both arguments are NaNs, <strong>fmax</strong>() returns a NaN.</p></td> @@ -951,11 +1022,12 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fmin</strong>(gentype <em>x</em>, gentype <em>y</em>)<br> gentypef <strong>fmin</strong>(gentypef <em>x</em>, float <em>y</em>)<br> - gentyped <strong>fmin</strong>(gentyped <em>x</em>, double <em>y</em>)</p></td> + gentyped <strong>fmin</strong>(gentyped <em>x</em>, double <em>y</em>)</p> +<p class="tableblock">gentypeh <strong>fmax</strong>(gentypeh <em>x</em>, half <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns <em>y</em> if <em>y</em> < <em>x</em>, otherwise it returns <em>x</em>. If one argument is a NaN, <strong>fmin</strong>() returns the other argument. If both arguments are NaNs, <strong>fmin</strong>() returns a NaN. - <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup></p></td> + <sup class="footnote">[<a id="_footnoteref_5" class="footnote" href="#_footnotedef_5" title="View footnote.">5</a>]</sup></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fmod</strong>(gentype <em>x</em>, gentype <em>y</em>)</p></td> @@ -965,23 +1037,41 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fract</strong>(gentype <em>x</em>, __global gentype <em>*iptr</em>)<br> gentype <strong>fract</strong>(gentype <em>x</em>, __local gentype <em>*iptr</em>)<br> - gentype <strong>fract</strong>(gentype <em>x</em>, __private gentype <em>*iptr</em>)<br></p> + gentype <strong>fract</strong>(gentype <em>x</em>, __private gentype <em>*iptr</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> gentype <strong>fract</strong>(gentype <em>x</em>, gentype <em>*iptr</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fmin</strong>(<em>x</em> - <strong>floor</strong>(<em>x</em>), <code>0x1.fffffep-1f</code>). +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fmin</strong>(<em>x</em> - <strong>floor</strong>(<em>x</em>), <code>C</code>), where <code>C</code> is the constant + <code>0x1.fffffep-1f</code> for <code>float</code> aguments, <code>0x1.fffffffffffffp-1</code> for <code>double</code> + arguments, and <code>0x1.ffcp-1h</code> for <code>half</code> arguments. <strong>floor</strong>(x) is returned in <em>iptr</em>. - <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p></td> + <sup class="footnote">[<a id="_footnoteref_6" class="footnote" href="#_footnotedef_6" title="View footnote.">6</a>]</sup></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half<em>n</em> <strong>frexp</strong>(half<em>n</em> <em>x</em>, __global int<em>n</em> *exp)<br> + half <strong>frexp</strong>(half <em>x</em>, __global int *exp)</p> +<p class="tableblock"> half<em>n</em> <strong>frexp</strong>(half<em>n</em> <em>x</em>, __local int<em>n</em> *exp)<br> + half <strong>frexp</strong>(half <em>x</em>, __local int *exp)</p> +<p class="tableblock"> half<em>n</em> <strong>frexp</strong>(half<em>n</em> <em>x</em>, __private int<em>n</em> *exp)<br> + half <strong>frexp</strong>(half <em>x</em>, __private int *exp)</p> +<p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> +<p class="tableblock"> half<em>n</em> <strong>frexp</strong>(half<em>n</em> <em>x</em>, int<em>n</em> *exp)<br> + half <strong>frexp</strong>(half <em>x</em>, int *exp)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Extract mantissa and exponent from <em>x</em>. + For each component the mantissa returned is a <code>half</code> with magnitude in + the interval [1/2, 1) or 0. + Each component of <em>x</em> equals mantissa returned * 2<em><sup>exp</sup></em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>frexp</strong>(float<em>n</em> <em>x</em>, __global int<em>n</em> *exp)<br> - float <strong>frexp</strong>(float <em>x</em>, __global int *exp)<br></p> + float <strong>frexp</strong>(float <em>x</em>, __global int *exp)</p> <p class="tableblock"> float<em>n</em> <strong>frexp</strong>(float<em>n</em> <em>x</em>, __local int<em>n</em> *exp)<br> - float <strong>frexp</strong>(float <em>x</em>, __local int *exp)<br></p> + float <strong>frexp</strong>(float <em>x</em>, __local int *exp)</p> <p class="tableblock"> float<em>n</em> <strong>frexp</strong>(float<em>n</em> <em>x</em>, __private int<em>n</em> *exp)<br> - float <strong>frexp</strong>(float <em>x</em>, __private int *exp)<br></p> + float <strong>frexp</strong>(float <em>x</em>, __private int *exp)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float<em>n</em> <strong>frexp</strong>(float<em>n</em> <em>x</em>, int<em>n</em> *exp)<br> float <strong>frexp</strong>(float <em>x</em>, int *exp)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Extract mantissa and exponent from <em>x</em>. @@ -991,13 +1081,13 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">double<em>n</em> <strong>frexp</strong>(double<em>n</em> <em>x</em>, __global int<em>n</em> *exp)<br> - double <strong>frexp</strong>(double <em>x</em>, __global int *exp)<br></p> + double <strong>frexp</strong>(double <em>x</em>, __global int *exp)</p> <p class="tableblock"> double<em>n</em> <strong>frexp</strong>(double<em>n</em> <em>x</em>, __local int<em>n</em> *exp)<br> - double <strong>frexp</strong>(double <em>x</em>, __local int *exp)<br></p> + double <strong>frexp</strong>(double <em>x</em>, __local int *exp)</p> <p class="tableblock"> double<em>n</em> <strong>frexp</strong>(double<em>n</em> <em>x</em>, __private int<em>n</em> *exp)<br> - double <strong>frexp</strong>(double <em>x</em>, __private int *exp)<br></p> + double <strong>frexp</strong>(double <em>x</em>, __private int *exp)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> double<em>n</em> <strong>frexp</strong>(double<em>n</em> <em>x</em>, int<em>n</em> *exp)<br> double <strong>frexp</strong>(double <em>x</em>, int *exp)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Extract mantissa and exponent from <em>x</em>. @@ -1014,7 +1104,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">int<em>n</em> <strong>ilogb</strong>(float<em>n</em> <em>x</em>)<br> int <strong>ilogb</strong>(float <em>x</em>)<br> int<em>n</em> <strong>ilogb</strong>(double<em>n</em> <em>x</em>)<br> - int <strong>ilogb</strong>(double <em>x</em>)</p></td> + int <strong>ilogb</strong>(double <em>x</em>)</p> +<p class="tableblock"> int<em>n</em> <strong>ilogb</strong>(half<em>n</em> <em>x</em>)<br> + int <strong>ilogb</strong>(half <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return the exponent as an integer value.</p></td> </tr> <tr> @@ -1023,29 +1115,40 @@ float <strong>ldexp</strong>(float <em>x</em>, int <em>k</em>)<br> double<em>n</em> <strong>ldexp</strong>(double<em>n</em> <em>x</em>, int<em>n</em> <em>k</em>)<br> double<em>n</em> <strong>ldexp</strong>(double<em>n</em> <em>x</em>, int <em>k</em>)<br> - double <strong>ldexp</strong>(double <em>x</em>, int <em>k</em>)</p></td> + double <strong>ldexp</strong>(double <em>x</em>, int <em>k</em>) + half<em>n</em> <strong>ldexp</strong>(half<em>n</em> <em>x</em>, int<em>n</em> <em>k</em>)<br> + half<em>n</em> <strong>ldexp</strong>(half<em>n</em> <em>x</em>, int <em>k</em>)<br> + half <strong>ldexp</strong>(half <em>x</em>, int <em>k</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Multiply <em>x</em> by 2 to the power <em>k</em>.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>lgamma</strong>(gentype <em>x</em>)<br></p> -<p class="tableblock"> float<em>n</em> <strong>lgamma_r</strong>(float<em>n</em> <em>x</em>, __global int<em>n</em> *<em>signp</em>)<br> +<td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>lgamma</strong>(gentype <em>x</em>)<br> + float<em>n</em> <strong>lgamma_r</strong>(float<em>n</em> <em>x</em>, __global int<em>n</em> *<em>signp</em>)<br> float <strong>lgamma_r</strong>(float <em>x</em>, __global int *<em>signp</em>)<br> double<em>n</em> <strong>lgamma_r</strong>(double<em>n</em> <em>x</em>, __global int<em>n</em> *<em>signp</em>)<br> - double <strong>lgamma_r</strong>(double <em>x</em>, __global int *<em>signp</em>)<br></p> + double <strong>lgamma_r</strong>(double <em>x</em>, __global int *<em>signp</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>lgamma_r</strong>(half<em>n</em> <em>x</em>, __global int<em>n</em> *<em>signp</em>)<br> + half <strong>lgamma_r</strong>(half <em>x</em>, __global int *<em>signp</em>)<br></p> <p class="tableblock"> float<em>n</em> <strong>lgamma_r</strong>(float<em>n</em> <em>x</em>, __local int<em>n</em> *<em>signp</em>)<br> float <strong>lgamma_r</strong>(float <em>x</em>, __local int *<em>signp</em>)<br> double<em>n</em> <strong>lgamma_r</strong>(double<em>n</em> <em>x</em>, __local int<em>n</em> *<em>signp</em>)<br> - double <strong>lgamma_r</strong>(double <em>x</em>, __local int *<em>signp</em>)<br></p> + double <strong>lgamma_r</strong>(double <em>x</em>, __local int *<em>signp</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>lgamma_r</strong>(half<em>n</em> <em>x</em>, __local int<em>n</em> *<em>signp</em>)<br> + half <strong>lgamma_r</strong>(half <em>x</em>, __local int *<em>signp</em>)<br></p> <p class="tableblock"> float<em>n</em> <strong>lgamma_r</strong>(float<em>n</em> <em>x</em>, __private int<em>n</em> *<em>signp</em>)<br> float <strong>lgamma_r</strong>(float <em>x</em>, __private int *<em>signp</em>)<br> double<em>n</em> <strong>lgamma_r</strong>(double<em>n</em> <em>x</em>, __private int<em>n</em> *<em>signp</em>)<br> - double <strong>lgamma_r</strong>(double <em>x</em>, __private int *<em>signp</em>)<br></p> + double <strong>lgamma_r</strong>(double <em>x</em>, __private int *<em>signp</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>lgamma_r</strong>(half<em>n</em> <em>x</em>, __private int<em>n</em> *<em>signp</em>)<br> + half <strong>lgamma_r</strong>(half <em>x</em>, __private int *<em>signp</em>)<br></p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float<em>n</em> <strong>lgamma_r</strong>(float<em>n</em> <em>x</em>, int<em>n</em> *<em>signp</em>)<br> float <strong>lgamma_r</strong>(float <em>x</em>, int *<em>signp</em>)<br> double<em>n</em> <strong>lgamma_r</strong>(double<em>n</em> <em>x</em>, int<em>n</em> *<em>signp</em>)<br> - double <strong>lgamma_r</strong>(double <em>x</em>, int *<em>signp</em>)</p></td> + double <strong>lgamma_r</strong>(double <em>x</em>, int *<em>signp</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>lgamma_r</strong>(half<em>n</em> <em>x</em>, int<em>n</em> *<em>signp</em>)<br> + half <strong>lgamma_r</strong>(half <em>x</em>, int *<em>signp</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Log gamma function. Returns the natural logarithm of the absolute value of the gamma function. @@ -1076,11 +1179,12 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mad</strong>(gentype <em>a</em>, gentype <em>b</em>, gentype <em>c</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>mad</strong> computes <em>a</em> * <em>b</em> + <em>c</em>. - The function may compute <em>a</em> * <em>b</em> + <em>c</em> with reduced accuracy - in the embedded profile. See the OpenCL SPIR-V Environment Specification - for details. On some hardware the mad instruction may provide better - performance than expanded computation of <em>a</em> * <em>b</em> + <em>c</em>. - <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup></p></td> + The function may compute <em>a</em> * <em>b</em> + <em>c</em> with reduced accuracy in the + embedded profile. + See the OpenCL SPIR-V Environment Specification for details. + On some hardware the mad instruction may provide better performance + than expanded computation of <em>a</em> * <em>b</em> + <em>c</em>. + <sup class="footnote">[<a id="_footnoteref_7" class="footnote" href="#_footnotedef_7" title="View footnote.">7</a>]</sup></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>maxmag</strong>(gentype <em>x</em>, gentype <em>y</em>)</p></td> @@ -1097,9 +1201,9 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>modf</strong>(gentype <em>x</em>, __global gentype <em>*iptr</em>)<br> gentype <strong>modf</strong>(gentype <em>x</em>, __local gentype <em>*iptr</em>)<br> - gentype <strong>modf</strong>(gentype <em>x</em>, __private gentype <em>*iptr</em>)<br></p> + gentype <strong>modf</strong>(gentype <em>x</em>, __private gentype <em>*iptr</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> gentype <strong>modf</strong>(gentype <em>x</em>, gentype <em>*iptr</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Decompose a floating-point number. The <strong>modf</strong> function breaks the argument <em>x</em> into integral and @@ -1110,7 +1214,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>nan</strong>(uint<em>n</em> <em>nancode</em>)<br> float <strong>nan</strong>(uint <em>nancode</em>)<br> double<em>n</em> <strong>nan</strong>(ulong<em>n</em> <em>nancode</em>)<br> - double <strong>nan</strong>(ulong <em>nancode</em>)</p></td> + double <strong>nan</strong>(ulong <em>nancode</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>nan</strong>(ushort<em>n</em> <em>nancode</em>)<br> + half <strong>nan</strong>(ushort <em>nancode</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns a quiet NaN. The <em>nancode</em> may be placed in the significand of the resulting NaN.</p></td> </tr> @@ -1129,7 +1235,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>pown</strong>(float<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> float <strong>pown</strong>(float <em>x</em>, int <em>y</em>)<br> double<em>n</em> <strong>pown</strong>(double<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> - double <strong>pown</strong>(double <em>x</em>, int <em>y</em>)</p></td> + double <strong>pown</strong>(double <em>x</em>, int <em>y</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>pown</strong>(half<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> + half <strong>pown</strong>(half <em>x</em>, int <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Compute <em>x</em> to the power <em>y</em>, where <em>y</em> is an integer.</p></td> </tr> <tr> @@ -1146,13 +1254,13 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>remquo</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>, __global int<em>n</em> <em>*quo</em>)<br> - float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __global int <em>*quo</em>)<br></p> + float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __global int <em>*quo</em>)</p> <p class="tableblock"> float<em>n</em> <strong>remquo</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>, __local int<em>n</em> <em>*quo</em>)<br> - float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __local int <em>*quo</em>)<br></p> + float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __local int <em>*quo</em>)</p> <p class="tableblock"> float<em>n</em> <strong>remquo</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>, __private int<em>n</em> <em>*quo</em>)<br> - float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __private int <em>*quo</em>)<br></p> + float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, __private int <em>*quo</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float<em>n</em> <strong>remquo</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>, int<em>n</em> <em>*quo</em>)<br> float <strong>remquo</strong>(float <em>x</em>, float <em>y</em>, int <em>*quo</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The <strong>remquo</strong> function computes the value r such that <em>r</em> = <em>x</em> - @@ -1167,13 +1275,13 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">double<em>n</em> <strong>remquo</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>, __global int<em>n</em> <em>*quo</em>)<br> - double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __global int <em>*quo</em>)<br></p> + double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __global int <em>*quo</em>)</p> <p class="tableblock"> double<em>n</em> <strong>remquo</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>, __local int<em>n</em> <em>*quo</em>)<br> - double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __local int <em>*quo</em>)<br></p> + double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __local int <em>*quo</em>)</p> <p class="tableblock"> double<em>n</em> <strong>remquo</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>, __private int<em>n</em> <em>*quo</em>)<br> - double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __private int <em>*quo</em>)<br></p> + double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, __private int <em>*quo</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> double<em>n</em> <strong>remquo</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>, int<em>n</em> <em>*quo</em>)<br> double <strong>remquo</strong>(double <em>x</em>, double <em>y</em>, int <em>*quo</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The <strong>remquo</strong> function computes the value r such that <em>r</em> = <em>x</em> - @@ -1187,6 +1295,27 @@ It stores this signed value in the object pointed to by <em>quo</em>.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">half<em>n</em> <strong>remquo</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>, __global int<em>n</em> <em>*quo</em>)<br> + half <strong>remquo</strong>(half <em>x</em>, half <em>y</em>, __global int <em>*quo</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>remquo</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>, __local int<em>n</em> <em>*quo</em>)<br> + half <strong>remquo</strong>(half <em>x</em>, half <em>y</em>, __local int <em>*quo</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>remquo</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>, __private int<em>n</em> <em>*quo</em>)<br> + half <strong>remquo</strong>(half <em>x</em>, half <em>y</em>, __private int <em>*quo</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or with the + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> +<p class="tableblock"> half<em>n</em> <strong>remquo</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>, int<em>n</em> <em>*quo</em>)<br> + half <strong>remquo</strong>(half <em>x</em>, half <em>y</em>, int <em>*quo</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <strong>remquo</strong> function computes the value r such that <em>r</em> = <em>x</em> - + <em>k</em>*<em>y</em>, where <em>k</em> is the integer nearest the exact value of <em>x</em>/<em>y</em>. + If there are two integers closest to <em>x</em>/<em>y</em>, <em>k</em> shall be the even + one. + If <em>r</em> is zero, it is given the same sign as <em>x</em>. + This is the same value that is returned by the <strong>remainder</strong> function. + <strong>remquo</strong> also calculates the lower seven bits of the integral quotient + <em>x</em>/<em>y</em>, and gives that value the same sign as <em>x</em>/<em>y</em>. + It stores this signed value in the object pointed to by <em>quo</em>.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>rint</strong>(gentype)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Round to integral value (using round to nearest even rounding mode) in floating-point format. @@ -1196,7 +1325,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>rootn</strong>(float<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> float <strong>rootn</strong>(float <em>x</em>, int <em>y</em>)<br> double<em>n</em> <strong>rootn</strong>(double<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> - double <strong>rootn</strong>(double <em>x</em>, int <em>y</em>)</p></td> + double <strong>rootn</strong>(double <em>x</em>, int <em>y</em>)</p> +<p class="tableblock"> half<em>n</em> <strong>rootn</strong>(half<em>n</em> <em>x</em>, int<em>n</em> <em>y</em>)<br> + half <strong>rootn</strong>(half <em>x</em>, int <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Compute <em>x</em> to the power 1/<em>y</em>.</p></td> </tr> <tr> @@ -1215,11 +1346,11 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>sincos</strong>(gentype <em>x</em>, __global gentype <em>*cosval</em>)<br> gentype <strong>sincos</strong>(gentype <em>x</em>, __local gentype <em>*cosval</em>)<br> - gentype <strong>sincos</strong>(gentype <em>x</em>, __private gentype <em>*cosval</em>)<br></p> + gentype <strong>sincos</strong>(gentype <em>x</em>, __private gentype <em>*cosval</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> gentype <strong>sincos</strong>(gentype <em>x</em>, gentype <em>*cosval</em>)</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Compute sine and cosine of x. +<td class="tableblock halign-left valign-top"><p class="tableblock">Compute sine and cosine of <em>x</em>. The computed sine is the return value and computed cosine is returned in <em>cosval</em>, where <em>x</em> is an angle in radians.</p></td> </tr> @@ -1288,17 +1419,33 @@ following table can take <code>float</code>, <code>float2</code>, <code>float3</code>, <code>float4</code>, <code>float8</code> or <code>float16</code> as the type for the arguments.</p> </div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The use of <code>half</code> in this table does not refer to the argument and +return types, which are 32-bit floating-point values, but to the accuracy +requirements of the function results. +</td> +</tr> +</table> +</div> <table id="table-builtin-half-native-math" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 2. Built-in Scalar and Vector <em>half</em> and <em>native</em> Math Functions</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>half_cos</strong>(gentype <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Compute cosine. @@ -1478,7 +1625,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1489,22 +1636,31 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. <strong>fmin</strong> and <strong>fmax</strong> behave as defined by C99 and may not match the IEEE 754-2008 definition for <strong>minNum</strong> and <strong>maxNum</strong> with regard to signaling NaNs. Specifically, signaling NaNs may behave as quiet NaNs. +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. The <strong>min</strong>() operator is there to prevent <strong>fract</strong>(-small) from returning 1.0. It returns the largest positive floating-point number less than 1.0. +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_4"> -<a href="#_footnoteref_4">4</a>. The user is cautioned that for some usages, e.g. <strong>mad</strong>(a, b, -a*b), the definition of <strong>mad</strong>() is loose enough in the embedded profile that almost any result is allowed from <strong>mad</strong>() for some values of a and b. +<a href="#_footnoteref_4">4</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_5"> +<a href="#_footnoteref_5">5</a>. <strong>fmin</strong> and <strong>fmax</strong> behave as defined by C99 and may not match the IEEE 754-2008 definition for <strong>minNum</strong> and <strong>maxNum</strong> with regard to signaling NaNs. Specifically, signaling NaNs may behave as quiet NaNs. +</div> +<div class="footnote" id="_footnotedef_6"> +<a href="#_footnoteref_6">6</a>. The <strong>min</strong>() operator is there to prevent <strong>fract</strong>(-small) from returning 1.0. It returns the largest positive floating-point number less than 1.0. +</div> +<div class="footnote" id="_footnotedef_7"> +<a href="#_footnoteref_7">7</a>. The user is cautioned that for some usages, e.g. <strong>mad</strong>(a, b, -a*b), the definition of <strong>mad</strong>() is loose enough in the embedded profile or with half-precision arguments that almost any result is allowed from <strong>mad</strong>() for some values of a and b. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/memory_order.html b/sdk/3.0/docs/man/html/memory_order.html index 52870f8..dff18e0 100644 --- a/sdk/3.0/docs/man/html/memory_order.html +++ b/sdk/3.0/docs/man/html/memory_order.html
@@ -786,11 +786,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Memory Order</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Additional Notes</strong></p></td> +<th class="tableblock halign-left valign-top">Memory Order</th> +<th class="tableblock halign-left valign-top">Additional Notes</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>memory_order_relaxed</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer.</p></td> @@ -850,7 +852,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -860,8 +862,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/memory_scope.html b/sdk/3.0/docs/man/html/memory_scope.html index c9671ba..404ca47 100644 --- a/sdk/3.0/docs/man/html/memory_scope.html +++ b/sdk/3.0/docs/man/html/memory_scope.html
@@ -786,11 +786,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Memory Scope</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Additional Notes</strong></p></td> +<th class="tableblock halign-left valign-top">Memory Scope</th> +<th class="tableblock halign-left valign-top">Additional Notes</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>memory_scope_work_item</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>memory_scope_work_item</code> can only be used with <code>atomic_work_item_fence</code> @@ -799,8 +801,9 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>memory_scope_sub_group</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 3.0 or newer and the - <code>__opencl_c_<wbr>subgroups</code> feature.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for + OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> feature.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>memory_scope_work_group</code></p></td> @@ -850,7 +853,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -860,8 +863,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/miscVectorFunctions.html b/sdk/3.0/docs/man/html/miscVectorFunctions.html index 2cb6d52..88f29ff 100644 --- a/sdk/3.0/docs/man/html/miscVectorFunctions.html +++ b/sdk/3.0/docs/man/html/miscVectorFunctions.html
@@ -794,11 +794,13 @@ <col style="width: 33.3333%;"> <col style="width: 66.6667%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>vec_step</strong>(gentype<em>n</em> <em>a</em>)<br> int <strong>vec_step</strong>(char3 <em>a</em>)<br> @@ -915,7 +917,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -926,19 +928,19 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/operators.html b/sdk/3.0/docs/man/html/operators.html index b31b6c4..d110733 100644 --- a/sdk/3.0/docs/man/html/operators.html +++ b/sdk/3.0/docs/man/html/operators.html
@@ -853,7 +853,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -863,8 +863,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/optionalAttributeQualifiers.html b/sdk/3.0/docs/man/html/optionalAttributeQualifiers.html index e26562a..50a74f7 100644 --- a/sdk/3.0/docs/man/html/optionalAttributeQualifiers.html +++ b/sdk/3.0/docs/man/html/optionalAttributeQualifiers.html
@@ -842,7 +842,7 @@ 256-bit AVX register.</p> </div> <div class="paragraph"> -<p>As another example, a Power4 machine has two scalar double precision +<p>As another example, a Power4 machine has two scalar double-precision floating-point units with an 6-cycle deep pipe. An autovectorizer for the Power4 machine might choose to interleave six kernels declared with the <code>__attribute__(( vec_type_hint (double2)))</code> @@ -900,7 +900,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -916,8 +916,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/otherDataTypes.html b/sdk/3.0/docs/man/html/otherDataTypes.html index da7a4bf..ffc2c1c 100644 --- a/sdk/3.0/docs/man/html/otherDataTypes.html +++ b/sdk/3.0/docs/man/html/otherDataTypes.html
@@ -784,11 +784,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Type</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_t</code> <sup class="footnote" id="_footnote_image-functions">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 2D image.</p></td> @@ -820,14 +822,14 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_depth_t</code> <sup class="footnoteref">[<a class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 2D depth image.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_array_depth_t</code> <sup class="footnoteref">[<a class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 2D depth image array.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, also see - <code>cl_khr_depth_images</code> extension.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 2.0 or newer, or for + the <code>cl_khr_<wbr>depth_<wbr>images</code> extension macro.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampler_t</code> <sup class="footnoteref">[<a class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> @@ -878,6 +880,42 @@ <p class="tableblock"> These flags are described in detail in the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#synchronization-functions" target="_blank" rel="noopener">synchronization functions</a> section.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_msaa_t</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A 2D multi-sample color image. + Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#built-in-image-sampler-less-read-functions" target="_blank" rel="noopener">Built-in + Image Sampler-less Read Functions</a> section for a detailed description + of the built-in functions that use this type.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_array_msaa_t</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A 2D multi-sample color image array. + Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#built-in-image-sampler-less-read-functions" target="_blank" rel="noopener">Built-in + Image Sampler-less Read Functions</a> section for a detailed description + of the built-in functions that use this type.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_msaa_depth_t</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A 2D multi-sample depth image. + Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#built-in-image-sampler-less-read-functions" target="_blank" rel="noopener">Built-in + Image Sampler-less Read Functions</a> section for a detailed description + of the built-in functions that use this type.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_array_msaa_depth_t</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A 2D multi-sample depth image array. + Refer to the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#built-in-image-sampler-less-read-functions" target="_blank" rel="noopener">Built-in + Image Sampler-less Read Functions</a> section for a detailed description + of the built-in functions that use this type.</p> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for the + <code>cl_khr_<wbr>gl_<wbr>msaa_<wbr>sharing</code> extension macro.</p></td> +</tr> </tbody> </table> <div class="admonitionblock note"> @@ -891,7 +929,7 @@ <p>The <code>image2d_t</code>, <code>image3d_t</code>, <code>image2d_array_t</code>, <code>image1d_t</code>, <code>image1d_buffer_t</code>, <code>image1d_array_t</code>, <code>image2d_depth_t</code>, <code>image2d_array_depth_t</code> and <code>sampler_t</code> types are only defined if the device -supports images, i.e. the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_IMAGE_SUPPORT</code> device query</a>) is <code>CL_TRUE</code>. +supports images, i.e. the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>IMAGE_<wbr>SUPPORT</code> device query</a>) is <code>CL_TRUE</code>. If this is the case then an OpenCL C 3.0 or newer compiler must also define the <code>__opencl_c_<wbr>images</code> feature macro.</p> </div> @@ -916,11 +954,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type in OpenCL C</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>API type for application</strong></p></td> +<th class="tableblock halign-left valign-top">Type in OpenCL C</th> +<th class="tableblock halign-left valign-top">API type for application</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>image2d_t</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mem</code></p></td> @@ -1009,7 +1049,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1025,8 +1065,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/pipeFunctions.html b/sdk/3.0/docs/man/html/pipeFunctions.html index 2543e37..bbe7cf4 100644 --- a/sdk/3.0/docs/man/html/pipeFunctions.html +++ b/sdk/3.0/docs/man/html/pipeFunctions.html
@@ -789,11 +789,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>read_pipe</strong>(read_only pipe gentype <em>p</em>, gentype *<em>ptr</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Read packet from pipe <em>p</em> into <em>ptr</em>. @@ -882,7 +884,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -893,13 +895,13 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_fp64</code> feature macro is present. +<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_<wbr>fp64</code> feature macro is present. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/pipeQueryFunctions.html b/sdk/3.0/docs/man/html/pipeQueryFunctions.html index 3f1bfda..ac06c8a 100644 --- a/sdk/3.0/docs/man/html/pipeQueryFunctions.html +++ b/sdk/3.0/docs/man/html/pipeQueryFunctions.html
@@ -793,11 +793,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_pipe_num_packets</strong>(<em>aQual</em> pipe gentype <em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of available entries in the pipe. @@ -837,7 +839,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -848,13 +850,13 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_fp64</code> feature macro is present. +<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_<wbr>fp64</code> feature macro is present. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/pipeWorkgroupFunctions.html b/sdk/3.0/docs/man/html/pipeWorkgroupFunctions.html index 07d9dc9..e1ce407 100644 --- a/sdk/3.0/docs/man/html/pipeWorkgroupFunctions.html +++ b/sdk/3.0/docs/man/html/pipeWorkgroupFunctions.html
@@ -792,11 +792,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">reserve_id_t <strong>work_group_reserve_read_pipe</strong>(read_only pipe gentype <em>p</em>, uint <em>num_packets</em>)<br> @@ -843,7 +845,7 @@ </table> </div> <div class="paragraph"> -<p>There can only be the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS</code> device query</a> reservations active +<p>There can only be the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>PIPE_<wbr>MAX_<wbr>ACTIVE_<wbr>RESERVATIONS</code> device query</a> reservations active (i.e. reservation IDs that have been reserved but not committed) per work-item or work-group for a pipe in a kernel executing on a device.</p> </div> @@ -887,7 +889,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -898,13 +900,13 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_fp64</code> feature macro is present. +<a href="#_footnoteref_1">1</a>. The <code>half</code> scalar and vector types can only be used if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. The <code>double</code> scalar and vector types can only be used if <code>double</code> precision is supported, e.g. for OpenCL C 3.0 the <code>__opencl_c_<wbr>fp64</code> feature macro is present. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/prePostOperators.html b/sdk/3.0/docs/man/html/prePostOperators.html index 2501f81..a016bec 100644 --- a/sdk/3.0/docs/man/html/prePostOperators.html +++ b/sdk/3.0/docs/man/html/prePostOperators.html
@@ -816,7 +816,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -832,8 +832,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/preprocessorDirectives.html b/sdk/3.0/docs/man/html/preprocessorDirectives.html index bb9d445..91f3835 100644 --- a/sdk/3.0/docs/man/html/preprocessorDirectives.html +++ b/sdk/3.0/docs/man/html/preprocessorDirectives.html
@@ -875,14 +875,14 @@ <p>Used to determine the current rounding mode and is set to rte. Only affects the rounding mode of conversions to a float type. <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Deprecated by</a> OpenCL C 1.1, along with the -<strong>cl_khr_select_fprounding_mode</strong> extension.</p> +<code>cl_khr_<wbr>select_<wbr>fprounding_<wbr>mode</code> extension.</p> </dd> <dt class="hdlist1"><code>__ENDIAN_LITTLE__</code> </dt> <dd> <p>Used to determine if the OpenCL device is a little endian architecture or a big endian architecture (an integer constant of 1 if device is little endian and is undefined otherwise). -Also refer to the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_ENDIAN_LITTLE</code> device query</a>.</p> +Also refer to the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>ENDIAN_<wbr>LITTLE</code> device query</a>.</p> </dd> <dt class="hdlist1"><code>__kernel_exec(X, typen)</code> (and <code>kernel_exec(X, typen)</code>) </dt> <dd> @@ -903,7 +903,7 @@ <p>Used to determine if the OpenCL device supports images. This is an integer constant of 1 if images are supported and is undefined otherwise. -Also refer to the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_IMAGE_SUPPORT</code> device query</a> and the <code>__opencl_c_<wbr>images</code> +Also refer to the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>IMAGE_<wbr>SUPPORT</code> device query</a> and the <code>__opencl_c_<wbr>images</code> feature.</p> </dd> <dt class="hdlist1"><code>__FAST_RELAXED_MATH__</code> </dt> @@ -961,7 +961,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -977,8 +977,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/printfFunction.html b/sdk/3.0/docs/man/html/printfFunction.html index 9c3011e..87f1cd2 100644 --- a/sdk/3.0/docs/man/html/printfFunction.html +++ b/sdk/3.0/docs/man/html/printfFunction.html
@@ -795,11 +795,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>printf</strong>(constant char *restrict <em>format</em>, …​)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The <strong>printf</strong> built-in function writes output to an @@ -842,7 +844,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -852,8 +854,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/private.html b/sdk/3.0/docs/man/html/private.html index 74b4889..6b7e095 100644 --- a/sdk/3.0/docs/man/html/private.html +++ b/sdk/3.0/docs/man/html/private.html
@@ -817,7 +817,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -827,8 +827,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/relationalFunctions.html b/sdk/3.0/docs/man/html/relationalFunctions.html index 0a5e7e9..a26b8a9 100644 --- a/sdk/3.0/docs/man/html/relationalFunctions.html +++ b/sdk/3.0/docs/man/html/relationalFunctions.html
@@ -823,58 +823,74 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isequal</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isequal</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isequal</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isequal</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isequal</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> == <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isnotequal</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isnotequal</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isnotequal</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isnotequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isnotequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isnotequal</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isnotequal</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> != <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isgreater</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isgreater</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isgreater</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isgreater</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isgreater</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isgreater</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isgreater</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> > <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isgreaterequal</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isgreaterequal</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isgreaterequal</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isgreaterequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isgreaterequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isgreaterequal</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isgreaterequal</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> >= <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isless</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isless</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isless</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isless</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isless</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isless</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isless</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> < <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>islessequal</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>islessequal</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>islessequal</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>islessequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>islessequal</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>islessequal</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>islessequal</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of <em>x</em> <= <em>y</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>islessgreater</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>islessgreater</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>islessgreater</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>islessgreater</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>islessgreater</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>islessgreater</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>islessgreater</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the component-wise compare of (<em>x</em> < <em>y</em>) || (<em>x</em> > <em>y</em>) .</p></td> </tr> <tr> @@ -885,59 +901,73 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isfinite</strong>(float)<br> int<em>n</em> <strong>isfinite</strong>(float<em>n</em>)<br> int <strong>isfinite</strong>(double)<br> - long<em>n</em> <strong>isfinite</strong>(double<em>n</em>)</p></td> + long<em>n</em> <strong>isfinite</strong>(double<em>n</em>)</p> +<p class="tableblock"> int <strong>isfinite</strong>(half)<br> + short<em>n</em> <strong>isfinite</strong>(half<em>n</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test for finite value.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isinf</strong>(float)<br> int<em>n</em> <strong>isinf</strong>(float<em>n</em>)<br> int <strong>isinf</strong>(double)<br> - long<em>n</em> <strong>isinf</strong>(double<em>n</em>)</p></td> + long<em>n</em> <strong>isinf</strong>(double<em>n</em>)</p> +<p class="tableblock"> int <strong>isinf</strong>(half)<br> + short<em>n</em> <strong>isinf</strong>(half<em>n</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test for infinity value (positive or negative).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isnan</strong>(float)<br> int<em>n</em> <strong>isnan</strong>(float<em>n</em>)<br> int <strong>isnan</strong>(double)<br> - long<em>n</em> <strong>isnan</strong>(double<em>n</em>)</p></td> + long<em>n</em> <strong>isnan</strong>(double<em>n</em>)</p> +<p class="tableblock"> int <strong>isnan</strong>(half)<br> + short<em>n</em> <strong>isnan</strong>(half<em>n</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test for a NaN.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isnormal</strong>(float)<br> int<em>n</em> <strong>isnormal</strong>(float<em>n</em>)<br> int <strong>isnormal</strong>(double)<br> - long<em>n</em> <strong>isnormal</strong>(double<em>n</em>)</p></td> + long<em>n</em> <strong>isnormal</strong>(double<em>n</em>)</p> +<p class="tableblock"> int <strong>isnormal</strong>(half)<br> + short<em>n</em> <strong>isnormal</strong>(half<em>n</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test for a normal value.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isordered</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isordered</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isordered</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isordered</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isordered</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isordered</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isordered</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test if arguments are ordered. - <strong>isordered</strong>() takes arguments <em>x</em> and <em>y</em>, and returns the result - <strong>isequal</strong>(<em>x</em>, <em>x</em>) && <strong>isequal</strong>(<em>y</em>, <em>y</em>).</p></td> + <strong>isordered</strong>() takes arguments <em>x</em> and <em>y</em>, and returns the result + <strong>isequal</strong>(<em>x</em>, <em>x</em>) && <strong>isequal</strong>(<em>y</em>, <em>y</em>).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>isunordered</strong>(float <em>x</em>, float <em>y</em>)<br> int<em>n</em> <strong>isunordered</strong>(float<em>n</em> <em>x</em>, float<em>n</em> <em>y</em>)<br> int <strong>isunordered</strong>(double <em>x</em>, double <em>y</em>)<br> - long<em>n</em> <strong>isunordered</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p></td> + long<em>n</em> <strong>isunordered</strong>(double<em>n</em> <em>x</em>, double<em>n</em> <em>y</em>)</p> +<p class="tableblock"> int <strong>isunordered</strong>(half <em>x</em>, half <em>y</em>)<br> + short<em>n</em> <strong>isunordered</strong>(half<em>n</em> <em>x</em>, half<em>n</em> <em>y</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test if arguments are unordered. <strong>isunordered</strong>() takes arguments <em>x</em> and <em>y</em>, returning non-zero if <em>x</em> or <em>y</em> is NaN, and zero otherwise.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>signbit</strong>(float)<br> - int<em>n</em> <strong>signbit</strong>(float<em>n</em>)<br> - int <strong>signbit</strong>(double)<br> - long<em>n</em> <strong>signbit</strong>(double<em>n</em>)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>signbit</strong>(float <em>x</em>)<br> + int<em>n</em> <strong>signbit</strong>(float<em>n</em> <em>x</em>)<br> + int <strong>signbit</strong>(double <em>x</em>)<br> + long<em>n</em> <strong>signbit</strong>(double<em>n</em> <em>x</em>)</p> +<p class="tableblock"> int <strong>signbit</strong>(half <em>x</em>)<br> + short<em>n</em> <strong>signbit</strong>(half<em>n</em> <em>x</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Test for sign bit. - The scalar version of the function returns a 1 if the sign bit in the - float is set else returns 0. + The scalar version of the function returns a 1 if the sign bit in <em>x</em> + is set else returns 0. The vector version of the function returns the following for each - component in <code>float<em>n</em></code>: -1 (i.e all bits set) if the sign bit in the - float is set else returns 0.</p></td> + component in <em>x</em>: -1 (i.e all bits set) if the sign bit in the float is + set else returns 0.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"></td> @@ -1004,7 +1034,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1018,10 +1048,10 @@ <a href="#_footnoteref_1">1</a>. If an implementation extends this specification to support IEEE-754 flags or exceptions, then all built-in functions defined in the following table shall proceed without raising the <em>invalid</em> floating-point exception when one or more of the operands are NaNs. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_2">2</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_4"> <a href="#_footnoteref_4">4</a>. This definition means that the behavior of select and the ternary operator for vector and scalar types is dependent on different interpretations of the bit pattern of <em>c</em>. @@ -1029,8 +1059,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/relationalOperators.html b/sdk/3.0/docs/man/html/relationalOperators.html index edcbad0..cba94d7 100644 --- a/sdk/3.0/docs/man/html/relationalOperators.html +++ b/sdk/3.0/docs/man/html/relationalOperators.html
@@ -810,16 +810,20 @@ are scalar and a vector signed integer type of the same size as the source operands if the source operands are vector types. Vector source operands of type <code>char<em>n</em></code> and <code>uchar<em>n</em></code> return a -<code>char<em>n</em></code> result; vector source operands of type <code>short<em>n</em></code> and +<code>char<em>n</em></code> result; vector source operands of type +<code>_half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, +<code>short<em>n</em></code> and <code>ushort<em>n</em></code> return a <code>short<em>n</em></code> result; vector source operands of type <code>int<em>n</em></code>, <code>uint<em>n</em></code> and <code>float<em>n</em></code> return an <code>int<em>n</em></code> result; vector source operands of type <code>long<em>n</em></code>, <code>ulong<em>n</em></code> and <code>double<em>n</em></code> return a -<code>long<em>n</em></code> result. -For scalar types, the relational operators shall return 0 if the specified -relation is <em>false</em> and 1 if the specified relation is <em>true</em>. +<code>long<em>n</em></code> result.</p> +</div> +<div class="paragraph"> +<p>For scalar types, the relational operators shall return 0 if the specified +relation is <em>false</em> and return 1 if the specified relation is <em>true</em>. For vector types, the relational operators shall return 0 if the specified -relation is <em>false</em> and -1 (i.e. all bits set) if the specified relation is -<em>true</em>. +relation is <em>false</em> and return -1 (i.e. all bits set) if the specified +relation is <em>true</em>. The relational operators always return 0 if either argument is not a number (NaN).</p> </div> @@ -849,7 +853,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -862,11 +866,14 @@ <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. To test whether any or all elements in the result of a vector relational operator test <em>true</em>, for example to use in the context in an <strong>if ( )</strong> statement, please see the <a href="#relational-functions"><strong>any</strong> and <strong>all</strong> built-ins</a>. </div> +<div class="footnote" id="_footnotedef_2"> +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/reservedDataTypes.html b/sdk/3.0/docs/man/html/reservedDataTypes.html index c9a14c1..bf8d0a5 100644 --- a/sdk/3.0/docs/man/html/reservedDataTypes.html +++ b/sdk/3.0/docs/man/html/reservedDataTypes.html
@@ -787,11 +787,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Type</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>bool<em>n</em></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A boolean vector.</p></td> @@ -843,7 +845,7 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>double<em>n</em>x<em>m</em></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">An <em>n</em> × <em>m</em> matrix of double precision floating-point values +<td class="tableblock halign-left valign-top"><p class="tableblock">An <em>n</em> × <em>m</em> matrix of double-precision floating-point values stored in column-major order.</p></td> </tr> <tr> @@ -890,7 +892,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -900,8 +902,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/restrictions.html b/sdk/3.0/docs/man/html/restrictions.html index 7e23890..f3dccef 100644 --- a/sdk/3.0/docs/man/html/restrictions.html +++ b/sdk/3.0/docs/man/html/restrictions.html
@@ -892,8 +892,9 @@ defined.</p> </li> <li> -<p>The following restriction only applies to OpenCL C 1.0, also see the -<strong>cl_khr_byte_addressable_store</strong> extension. +<p>The following restriction only applies to +OpenCL C 1.0, and only if the <code>cl_khr_<wbr>byte_<wbr>addressable_<wbr>store</code> +extension macro is not supported:<br> Built-in types that are less than 32-bits in size, i.e. <code>char</code>, <code>uchar</code>, <code>char2</code>, <code>uchar2</code>, <code>short</code>, <code>ushort</code>, and <code>half</code>, have the following restriction:</p> @@ -1004,7 +1005,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1015,13 +1016,13 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Unless the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. +<a href="#_footnoteref_1">1</a>. Unless the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/samplers.html b/sdk/3.0/docs/man/html/samplers.html index 1f9b64a..3bac7e3 100644 --- a/sdk/3.0/docs/man/html/samplers.html +++ b/sdk/3.0/docs/man/html/samplers.html
@@ -833,7 +833,7 @@ <p>Note that samplers declared using the <code>constant</code> qualifier are not counted towards the maximum number of arguments pointing to the constant address space or the maximum size of the <code>constant</code> address space allowed per device -(i.e. the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_MAX_CONSTANT_ARGS</code></a> and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE</code></a> device queries).</p> +(i.e. the value of the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>MAX_<wbr>CONSTANT_<wbr>ARGS</code></a> and <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#opencl-device-queries" target="_blank" rel="noopener"><code>CL_DEVICE_<wbr>MAX_<wbr>CONSTANT_<wbr>BUFFER_<wbr>SIZE</code></a> device queries).</p> </div> <div class="paragraph"> <p>The sampler fields are described in the following table.</p> @@ -844,11 +844,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Sampler State</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Sampler State</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><normalized coords></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether the <em>x</em>, <em>y</em> and <em>z</em> coordinates are passed in as @@ -915,7 +917,7 @@ </div> <div class="paragraph"> <p>The maximum number of samplers that can be declared in a kernel can be -queried using the <code>CL_DEVICE_MAX_SAMPLERS</code> token in <strong>clGetDeviceInfo</strong>.</p> +queried using the <code>CL_DEVICE_<wbr>MAX_<wbr>SAMPLERS</code> token in <strong>clGetDeviceInfo</strong>.</p> </div> </div> </div> @@ -943,7 +945,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -959,8 +961,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/scalarDataTypes.html b/sdk/3.0/docs/man/html/scalarDataTypes.html index 36c2f31..22dc76a 100644 --- a/sdk/3.0/docs/man/html/scalarDataTypes.html +++ b/sdk/3.0/docs/man/html/scalarDataTypes.html
@@ -783,11 +783,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Type</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>bool</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A conditional data type which is either <em>true</em> or <em>false</em>. @@ -835,16 +837,14 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>double</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 64-bit floating-point number. - The <code>double</code> data type must conform to the IEEE 754 double precision + The <code>double</code> data type must conform to the IEEE 754 double-precision storage format.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer. In - OpenCL C 3.0 it requires support of the <code>__opencl_c_<wbr>fp64</code> feature. - Also see extension <strong>cl_khr_fp64</strong>.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#double-precision-support" target="_blank" rel="noopener">double-precision</a>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>half</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A 16-bit floating-point number. - The <code>half</code> data type must conform to the IEEE 754-2008 half precision + The <code>half</code> data type must conform to the IEEE 754-2008 half-precision storage format.</p></td> </tr> <tr> @@ -877,13 +877,6 @@ </tbody> </table> <div class="paragraph"> -<p>If the double-precision floating-point extension <strong>cl_khr_fp64</strong> or the -<code>__opencl_c_<wbr>fp64</code> feature is not supported, implementations may -implicitly cast double-precision floating-point literals to -single-precision literals. The use of double-precision literals without -double-precision support should result in a diagnostic.</p> -</div> -<div class="paragraph"> <p>Most built-in scalar data types are also declared as appropriate types in the OpenCL API (and header files) that can be used by an application. The following table describes the built-in scalar data type in the OpenCL C @@ -895,11 +888,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type in OpenCL Language</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>API type for application</strong></p></td> +<th class="tableblock halign-left valign-top">Type in OpenCL Language</th> +<th class="tableblock halign-left valign-top">API type for application</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>bool</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">n/a</p></td> @@ -996,7 +991,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1010,22 +1005,22 @@ <a href="#_footnoteref_1">1</a>. When any scalar value is converted to <code>bool</code>, the result is 0 if the value compares equal to 0; otherwise, the result is 1. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. The <code>long</code>, <code>unsigned long</code> and <code>ulong</code> scalar types are optional types for EMBEDDED profile devices that are supported if the value of the <code>CL_DEVICE_EXTENSIONS</code> device query contains <strong>cles_khr_int64</strong>. An OpenCL C 3.0 compiler must also define the <code>__opencl_c_int64</code> feature macro unconditionally for FULL profile devices, or for EMBEDDED profile devices that support these types. +<a href="#_footnoteref_2">2</a>. The <code>long</code>, <code>unsigned long</code> and <code>ulong</code> scalar types are optional types for EMBEDDED profile devices that are supported if the value of the <code>CL_DEVICE_<wbr>EXTENSIONS</code> device query contains <strong>cles_khr_int64</strong>. An OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>int64</code> feature macro unconditionally for FULL profile devices, or for EMBEDDED profile devices that support these types. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. The <code>double</code> scalar type is an optional type that is supported if the value of the <code>CL_DEVICE_DOUBLE_FP_CONFIG</code> device query is not zero. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. The <code>double</code> scalar type is an optional type that is supported if the value of the <code>CL_DEVICE_<wbr>DOUBLE_<wbr>FP_<wbr>CONFIG</code> device query is not zero. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_4"> -<a href="#_footnoteref_4">4</a>. This is a 32-bit type if the value of the <code>CL_DEVICE_ADDRESS_BITS</code> device query is 32-bits, and a 64-bit type if the value of the query is 64-bits. +<a href="#_footnoteref_4">4</a>. This is a 32-bit type if the value of the <code>CL_DEVICE_<wbr>ADDRESS_<wbr>BITS</code> device query is 32-bits, and a 64-bit type if the value of the query is 64-bits. </div> <div class="footnote" id="_footnotedef_5"> -<a href="#_footnoteref_5">5</a>. <a href="#unified-spec">Requires</a> support for OpenCL C 1.2 or above. Also see extension <strong>cl_khr_fp64</strong>. +<a href="#_footnoteref_5">5</a>. <a href="#unified-spec">Requires</a> support for OpenCL C 1.2 or above. Also see extension <code>cl_khr_<wbr>fp64</code>. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/selectionOperator.html b/sdk/3.0/docs/man/html/selectionOperator.html index 70419bd..830e017 100644 --- a/sdk/3.0/docs/man/html/selectionOperator.html +++ b/sdk/3.0/docs/man/html/selectionOperator.html
@@ -819,7 +819,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -829,8 +829,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/shiftOperators.html b/sdk/3.0/docs/man/html/shiftOperators.html index 709bf0e..e05fa6c 100644 --- a/sdk/3.0/docs/man/html/shiftOperators.html +++ b/sdk/3.0/docs/man/html/shiftOperators.html
@@ -775,11 +775,11 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The operators right-shift (<strong>>></strong>), left-shift (<strong>link:https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#</strong>) operate on all scalar +<p>The operators right-shift (<strong>>></strong>), left-shift (<strong><<</strong>) operate on all scalar and vector built-in types except the built-in scalar and vector <code>float</code> types. -For built-in vector types[the operators are applied component-wise. -For the right-shift (<strong>^]</strong>), left-shift (<strong><<</strong>) operators, the rightmost +For built-in vector types, the operators are applied component-wise. +For the right-shift (<strong>>></strong>), left-shift (<strong><<</strong>) operators, the rightmost operand must be a scalar if the first operand is a scalar, and the rightmost operand can be a vector or scalar if the first operand is a vector.</p> </div> @@ -828,7 +828,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -844,8 +844,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/sizeofOperator.html b/sdk/3.0/docs/man/html/sizeofOperator.html index acb8a2b..77c3a6d 100644 --- a/sdk/3.0/docs/man/html/sizeofOperator.html +++ b/sdk/3.0/docs/man/html/sizeofOperator.html
@@ -840,7 +840,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -862,8 +862,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/storageSpecifiers.html b/sdk/3.0/docs/man/html/storageSpecifiers.html index c2827cc..672ba31 100644 --- a/sdk/3.0/docs/man/html/storageSpecifiers.html +++ b/sdk/3.0/docs/man/html/storageSpecifiers.html
@@ -845,7 +845,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -855,8 +855,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/subGroupFunctions.html b/sdk/3.0/docs/man/html/subGroupFunctions.html index cba47e9..aa29621 100644 --- a/sdk/3.0/docs/man/html/subGroupFunctions.html +++ b/sdk/3.0/docs/man/html/subGroupFunctions.html
@@ -767,7 +767,7 @@ <h1>subGroupFunctions(3) Manual Page</h1> <h2 id="_name">Name</h2> <div class="sectionbody"> -<p>subGroupFunctions - Sub-group Functions</p> +<p>subGroupFunctions - Sub-Group Functions</p> </div> </div> <div id="content"> @@ -782,29 +782,53 @@ </td> <td class="content"> The functionality described in this section <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> -support for OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> feature. +support for +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for +OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> feature. </td> </tr> </table> </div> <div class="paragraph"> -<p>The table below describes OpenCL C programming language built-in functions that operate on a sub-group level. -These built-in functions must be encountered by all work-items in the sub-group executing the kernel. +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-collective-functions" target="_blank" rel="noopener">following table</a> describes OpenCL C +programming language built-in functions that operate on a sub-group level. +These built-in functions must be encountered by all work-items in the +sub-group executing the kernel. For the functions below, the generic type name <code>gentype</code> may be the one of the supported built-in scalar data types <code>int</code>, <code>uint</code>, <code>long</code> -<sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>ulong</code>, <code>half</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, -<code>float</code>, and <code>double</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup>.</p> +<sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>ulong</code>, <code>half</code> +<sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>, <code>float</code>, and <code>double</code> +<sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup>.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 1. Built-in Sub-group Collective Functions</caption> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +If the <code>cl_khr_<wbr>subgroup_<wbr>extended_<wbr>types</code> extension is supported, the +generic type name <code>gentype</code> may additionally be <code>char</code>, <code>uchar</code>, <code>short</code>, and +<code>ushort</code>. +For the <code>sub_group_broadcast</code> function, <code>gentype</code> may additionally be one of +the supported built-in vector data types <code>char<em>n</em></code>, <code>uchar<em>n</em></code>, +<code>short<em>n</em></code>, <code>ushort<em>n</em></code>, <code>int<em>n</em></code>, <code>uint<em>n</em></code>, <code>long<em>n</em></code>, +<code>ulong<em>n</em></code>, <code>float<em>n</em></code>, <code>half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup>, or +<code>double<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_5" class="footnote" href="#_footnotedef_5" title="View footnote.">5</a>]</sup> +</td> +</tr> +</table> +</div> +<table id="table-collective-functions" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Built-in Sub-Group Collective Functions</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> @@ -894,15 +918,17 @@ <i class="fa icon-note" title="Note"></i> </td> <td class="content"> -The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> -and <code>__opencl_c_<wbr>pipes</code> features. +The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for +OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> and <code>__opencl_c_<wbr>pipes</code> +features. </td> </tr> </table> </div> <div class="paragraph"> -<p>The following table describes built-in pipe functions that operate at a -sub-group level. +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-pipe-functions" target="_blank" rel="noopener">following table</a> describes built-in pipe +functions that operate at a sub-group level. These built-in functions must be encountered by all work-items in a sub-group executing the kernel with the same argument values, otherwise the behavior is undefined. @@ -911,16 +937,16 @@ type built from these scalar and vector data types can be used as the type for the arguments to the pipe functions listed in <em>table 6.29</em>.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 2. Built-in Sub-group Pipe Functions</caption> +<table id="table-pipe-functions" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Built-in Sub-Group Pipe Functions</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> @@ -964,26 +990,28 @@ <i class="fa icon-note" title="Note"></i> </td> <td class="content"> -The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> -and <code>__opencl_c_<wbr>device_<wbr>enqueue</code> features. +The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for +OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> and +<code>__opencl_c_<wbr>device_<wbr>enqueue</code> features. </td> </tr> </table> </div> <div class="paragraph"> -<p>The following table describes built-in functions to query sub-group -information for a block to be enqueued.</p> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-kernel-query-functions" target="_blank" rel="noopener">following table</a> describes built-in +functions to query sub-group information for a block to be enqueued.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 3. Built-in Sub-group Kernel Query Functions</caption> +<table id="table-kernel-query-functions" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 3. Built-in Sub-Group Kernel Query Functions</caption> <colgroup> <col style="width: 55.5555%;"> <col style="width: 44.4445%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Built-in Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Built-in Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> @@ -1036,7 +1064,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1047,19 +1075,25 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. +<a href="#_footnoteref_2">2</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. +</div> +<div class="footnote" id="_footnotedef_4"> +<a href="#_footnoteref_4">4</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_5"> +<a href="#_footnoteref_5">5</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/supportedImageFormats.html b/sdk/3.0/docs/man/html/supportedImageFormats.html index 05b55cd..031c8be 100644 --- a/sdk/3.0/docs/man/html/supportedImageFormats.html +++ b/sdk/3.0/docs/man/html/supportedImageFormats.html
@@ -817,11 +817,20 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> +<p class="tableblock">Also supported if the <code>cl_khr_<wbr>depth_<wbr>images</code> extension is supported.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT16</code><br> <code>CL_FLOAT</code></p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_DEPTH_<wbr>STENCIL</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT24</code><br> + <code>CL_FLOAT</code></p> +<p class="tableblock"> See <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#restrictions-on-depth-stencil-images" target="_blank" rel="noopener">Restrictions on + Depth/Stencil Images</a>.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_RG</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CL_UNORM_<wbr>INT8</code><br> @@ -981,7 +990,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1000,8 +1009,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/syncFunctions.html b/sdk/3.0/docs/man/html/syncFunctions.html index 6941710..4882bd8 100644 --- a/sdk/3.0/docs/man/html/syncFunctions.html +++ b/sdk/3.0/docs/man/html/syncFunctions.html
@@ -786,19 +786,19 @@ </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>barrier</strong>(<br> - cl_mem_fence_flags <em>flags</em>)<br></p> -<p class="tableblock"> For OpenCL C 2.0 or newer, as an alias for <strong>barrier</strong>:<br></p> + cl_mem_fence_flags <em>flags</em>)</p> +<p class="tableblock"> For OpenCL C 2.0 or newer, as an alias for <strong>barrier</strong>:</p> <p class="tableblock"> void <strong>work_group_barrier</strong>(<br> - cl_mem_fence_flags <em>flags</em>)<br></p> + cl_mem_fence_flags <em>flags</em>)</p> <p class="tableblock"> void <strong>work_group_barrier</strong>(<br> - cl_mem_fence_flags <em>flags</em>,<br> + cl_mem_fence_flags <em>flags</em>, memory_scope <em>scope</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">For these functions, if any work-item in a work-group encounters a barrier, the barrier must be encountered by all work-items in the @@ -863,7 +863,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -879,8 +879,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/toc.html b/sdk/3.0/docs/man/html/toc.html index 43b41b5..2287749 100644 --- a/sdk/3.0/docs/man/html/toc.html +++ b/sdk/3.0/docs/man/html/toc.html
@@ -95,6 +95,9 @@ <li><a href="assignmentOperator.html" target="pagedisplay">assignmentOperator</a></li> <li><a href="asyncCopyFunctions.html" target="pagedisplay">asyncCopyFunctions</a></li> <li><a href="asyncCopyFunctions.html" target="pagedisplay">async_work_group_copy</a></li> + <li><a href="extendedAsyncCopyFunctions.html" target="pagedisplay">async_work_group_copy_2D2D</a></li> + <li><a href="extendedAsyncCopyFunctions.html" target="pagedisplay">async_work_group_copy_3D3D</a></li> + <li><a href="asyncCopyFunctions.html" target="pagedisplay">async_work_group_copy_fence</a></li> <li><a href="asyncCopyFunctions.html" target="pagedisplay">async_work_group_strided_copy</a></li> <li><a href="as_typen.html" target="pagedisplay">as_typen</a></li> <li><a href="mathFunctions.html" target="pagedisplay">atan</a></li> @@ -137,8 +140,12 @@ <li>B <ul class="Level3"> <li><a href="syncFunctions.html" target="pagedisplay">barrier</a></li> + <li><a href="extendedBitOperations.html" target="pagedisplay">bitfield_extract_signed</a></li> + <li><a href="extendedBitOperations.html" target="pagedisplay">bitfield_extract_unsigned</a></li> + <li><a href="extendedBitOperations.html" target="pagedisplay">bitfield_insert</a></li> <li><a href="relationalFunctions.html" target="pagedisplay">bitselect</a></li> <li><a href="bitwiseOperators.html" target="pagedisplay">bitwiseOperators</a></li> + <li><a href="extendedBitOperations.html" target="pagedisplay">bit_reverse</a></li> <li><a href="blocks.html" target="pagedisplay">blocks</a></li> </ul> </li> @@ -150,13 +157,39 @@ <li><a href="integerFunctions.html" target="pagedisplay">clamp_integer</a></li> <li><a href="clBuildProgram.html" target="pagedisplay">clBuildProgram</a></li> <li><a href="clCloneKernel.html" target="pagedisplay">clCloneKernel</a></li> + <li><a href="clCommandBarrierWithWaitListKHR.html" target="pagedisplay">clCommandBarrierWithWaitListKHR</a></li> + <li><a href="clCommandCopyBufferKHR.html" target="pagedisplay">clCommandCopyBufferKHR</a></li> + <li><a href="clCommandCopyBufferRectKHR.html" target="pagedisplay">clCommandCopyBufferRectKHR</a></li> + <li><a href="clCommandCopyBufferToImageKHR.html" target="pagedisplay">clCommandCopyBufferToImageKHR</a></li> + <li><a href="clCommandCopyImageKHR.html" target="pagedisplay">clCommandCopyImageKHR</a></li> + <li><a href="clCommandCopyImageToBufferKHR.html" target="pagedisplay">clCommandCopyImageToBufferKHR</a></li> + <li><a href="clCommandFillBufferKHR.html" target="pagedisplay">clCommandFillBufferKHR</a></li> + <li><a href="clCommandFillImageKHR.html" target="pagedisplay">clCommandFillImageKHR</a></li> + <li><a href="clCommandNDRangeKernelKHR.html" target="pagedisplay">clCommandNDRangeKernelKHR</a></li> + <li><a href="clCommandSVMMemcpyKHR.html" target="pagedisplay">clCommandSVMMemcpyKHR</a></li> + <li><a href="clCommandSVMMemFillKHR.html" target="pagedisplay">clCommandSVMMemFillKHR</a></li> <li><a href="clCompileProgram.html" target="pagedisplay">clCompileProgram</a></li> <li><a href="clCreateBuffer.html" target="pagedisplay">clCreateBuffer</a></li> <li><a href="clCreateBuffer.html" target="pagedisplay">clCreateBufferWithProperties</a></li> + <li><a href="clCreateCommandBufferKHR.html" target="pagedisplay">clCreateCommandBufferKHR</a></li> <li><a href="clCreateCommandQueue.html" target="pagedisplay">clCreateCommandQueue</a></li> <li><a href="clCreateCommandQueueWithProperties.html" target="pagedisplay">clCreateCommandQueueWithProperties</a></li> + <li><a href="clCreateCommandQueueWithProperties.html" target="pagedisplay">clCreateCommandQueueWithPropertiesKHR</a></li> <li><a href="clCreateContext.html" target="pagedisplay">clCreateContext</a></li> <li><a href="clCreateContextFromType.html" target="pagedisplay">clCreateContextFromType</a></li> + <li><a href="clCreateEventFromEGLSyncKHR.html" target="pagedisplay">clCreateEventFromEGLSyncKHR</a></li> + <li><a href="clCreateEventFromGLsyncKHR.html" target="pagedisplay">clCreateEventFromGLsyncKHR</a></li> + <li><a href="clCreateFromD3D10BufferKHR.html" target="pagedisplay">clCreateFromD3D10BufferKHR</a></li> + <li><a href="clCreateFromD3D10Texture2DKHR.html" target="pagedisplay">clCreateFromD3D10Texture2DKHR</a></li> + <li><a href="clCreateFromD3D10Texture3DKHR.html" target="pagedisplay">clCreateFromD3D10Texture3DKHR</a></li> + <li><a href="clCreateFromD3D11BufferKHR.html" target="pagedisplay">clCreateFromD3D11BufferKHR</a></li> + <li><a href="clCreateFromD3D11Texture2DKHR.html" target="pagedisplay">clCreateFromD3D11Texture2DKHR</a></li> + <li><a href="clCreateFromD3D11Texture3DKHR.html" target="pagedisplay">clCreateFromD3D11Texture3DKHR</a></li> + <li><a href="clCreateFromDX9MediaSurfaceKHR.html" target="pagedisplay">clCreateFromDX9MediaSurfaceKHR</a></li> + <li><a href="clCreateFromEGLImageKHR.html" target="pagedisplay">clCreateFromEGLImageKHR</a></li> + <li><a href="clCreateFromGLBuffer.html" target="pagedisplay">clCreateFromGLBuffer</a></li> + <li><a href="clCreateFromGLRenderbuffer.html" target="pagedisplay">clCreateFromGLRenderbuffer</a></li> + <li><a href="clCreateFromGLTexture.html" target="pagedisplay">clCreateFromGLTexture</a></li> <li><a href="clCreateImage.html" target="pagedisplay">clCreateImage</a></li> <li><a href="clCreateImage2D.html" target="pagedisplay">clCreateImage2D</a></li> <li><a href="clCreateImage3D.html" target="pagedisplay">clCreateImage3D</a></li> @@ -167,14 +200,23 @@ <li><a href="clCreateProgramWithBinary.html" target="pagedisplay">clCreateProgramWithBinary</a></li> <li><a href="clCreateProgramWithBuiltInKernels.html" target="pagedisplay">clCreateProgramWithBuiltInKernels</a></li> <li><a href="clCreateProgramWithIL.html" target="pagedisplay">clCreateProgramWithIL</a></li> + <li><a href="clCreateProgramWithIL.html" target="pagedisplay">clCreateProgramWithILKHR</a></li> <li><a href="clCreateProgramWithSource.html" target="pagedisplay">clCreateProgramWithSource</a></li> <li><a href="clCreateSampler.html" target="pagedisplay">clCreateSampler</a></li> <li><a href="clCreateSamplerWithProperties.html" target="pagedisplay">clCreateSamplerWithProperties</a></li> + <li><a href="clCreateSemaphoreWithPropertiesKHR.html" target="pagedisplay">clCreateSemaphoreWithPropertiesKHR</a></li> <li><a href="clCreateSubBuffer.html" target="pagedisplay">clCreateSubBuffer</a></li> <li><a href="clCreateSubDevices.html" target="pagedisplay">clCreateSubDevices</a></li> <li><a href="clCreateUserEvent.html" target="pagedisplay">clCreateUserEvent</a></li> + <li><a href="clEnqueueAcquireD3D10ObjectsKHR.html" target="pagedisplay">clEnqueueAcquireD3D10ObjectsKHR</a></li> + <li><a href="clEnqueueAcquireD3D11ObjectsKHR.html" target="pagedisplay">clEnqueueAcquireD3D11ObjectsKHR</a></li> + <li><a href="clEnqueueAcquireDX9MediaSurfacesKHR.html" target="pagedisplay">clEnqueueAcquireDX9MediaSurfacesKHR</a></li> + <li><a href="clEnqueueAcquireEGLObjectsKHR.html" target="pagedisplay">clEnqueueAcquireEGLObjectsKHR</a></li> + <li><a href="clEnqueueAcquireExternalMemObjectsKHR.html" target="pagedisplay">clEnqueueAcquireExternalMemObjectsKHR</a></li> + <li><a href="clEnqueueAcquireGLObjects.html" target="pagedisplay">clEnqueueAcquireGLObjects</a></li> <li><a href="clEnqueueBarrier.html" target="pagedisplay">clEnqueueBarrier</a></li> <li><a href="clEnqueueBarrierWithWaitList.html" target="pagedisplay">clEnqueueBarrierWithWaitList</a></li> + <li><a href="clEnqueueCommandBufferKHR.html" target="pagedisplay">clEnqueueCommandBufferKHR</a></li> <li><a href="clEnqueueCopyBuffer.html" target="pagedisplay">clEnqueueCopyBuffer</a></li> <li><a href="clEnqueueCopyBufferRect.html" target="pagedisplay">clEnqueueCopyBufferRect</a></li> <li><a href="clEnqueueCopyBufferToImage.html" target="pagedisplay">clEnqueueCopyBufferToImage</a></li> @@ -192,6 +234,13 @@ <li><a href="clEnqueueReadBuffer.html" target="pagedisplay">clEnqueueReadBuffer</a></li> <li><a href="clEnqueueReadBufferRect.html" target="pagedisplay">clEnqueueReadBufferRect</a></li> <li><a href="clEnqueueReadImage.html" target="pagedisplay">clEnqueueReadImage</a></li> + <li><a href="clEnqueueReleaseD3D10ObjectsKHR.html" target="pagedisplay">clEnqueueReleaseD3D10ObjectsKHR</a></li> + <li><a href="clEnqueueReleaseD3D11ObjectsKHR.html" target="pagedisplay">clEnqueueReleaseD3D11ObjectsKHR</a></li> + <li><a href="clEnqueueReleaseDX9MediaSurfacesKHR.html" target="pagedisplay">clEnqueueReleaseDX9MediaSurfacesKHR</a></li> + <li><a href="clEnqueueReleaseEGLObjectsKHR.html" target="pagedisplay">clEnqueueReleaseEGLObjectsKHR</a></li> + <li><a href="clEnqueueReleaseExternalMemObjectsKHR.html" target="pagedisplay">clEnqueueReleaseExternalMemObjectsKHR</a></li> + <li><a href="clEnqueueReleaseGLObjects.html" target="pagedisplay">clEnqueueReleaseGLObjects</a></li> + <li><a href="clEnqueueSignalSemaphoresKHR.html" target="pagedisplay">clEnqueueSignalSemaphoresKHR</a></li> <li><a href="clEnqueueSVMFree.html" target="pagedisplay">clEnqueueSVMFree</a></li> <li><a href="clEnqueueSVMMap.html" target="pagedisplay">clEnqueueSVMMap</a></li> <li><a href="clEnqueueSVMMemcpy.html" target="pagedisplay">clEnqueueSVMMemcpy</a></li> @@ -201,33 +250,49 @@ <li><a href="clEnqueueTask.html" target="pagedisplay">clEnqueueTask</a></li> <li><a href="clEnqueueUnmapMemObject.html" target="pagedisplay">clEnqueueUnmapMemObject</a></li> <li><a href="clEnqueueWaitForEvents.html" target="pagedisplay">clEnqueueWaitForEvents</a></li> + <li><a href="clEnqueueWaitSemaphoresKHR.html" target="pagedisplay">clEnqueueWaitSemaphoresKHR</a></li> <li><a href="clEnqueueReadBuffer.html" target="pagedisplay">clEnqueueWriteBuffer</a></li> <li><a href="clEnqueueReadBufferRect.html" target="pagedisplay">clEnqueueWriteBufferRect</a></li> <li><a href="clEnqueueReadImage.html" target="pagedisplay">clEnqueueWriteImage</a></li> + <li><a href="clFinalizeCommandBufferKHR.html" target="pagedisplay">clFinalizeCommandBufferKHR</a></li> <li><a href="clFinish.html" target="pagedisplay">clFinish</a></li> <li><a href="clFlush.html" target="pagedisplay">clFlush</a></li> + <li><a href="clGetCommandBufferInfoKHR.html" target="pagedisplay">clGetCommandBufferInfoKHR</a></li> <li><a href="clGetCommandQueueInfo.html" target="pagedisplay">clGetCommandQueueInfo</a></li> <li><a href="clGetContextInfo.html" target="pagedisplay">clGetContextInfo</a></li> <li><a href="clGetDeviceAndHostTimer.html" target="pagedisplay">clGetDeviceAndHostTimer</a></li> <li><a href="clGetDeviceIDs.html" target="pagedisplay">clGetDeviceIDs</a></li> + <li><a href="clGetDeviceIDsFromD3D10KHR.html" target="pagedisplay">clGetDeviceIDsFromD3D10KHR</a></li> + <li><a href="clGetDeviceIDsFromD3D11KHR.html" target="pagedisplay">clGetDeviceIDsFromD3D11KHR</a></li> + <li><a href="clGetDeviceIDsFromDX9MediaAdapterKHR.html" target="pagedisplay">clGetDeviceIDsFromDX9MediaAdapterKHR</a></li> <li><a href="clGetDeviceInfo.html" target="pagedisplay">clGetDeviceInfo</a></li> <li><a href="clGetEventInfo.html" target="pagedisplay">clGetEventInfo</a></li> <li><a href="clGetEventProfilingInfo.html" target="pagedisplay">clGetEventProfilingInfo</a></li> + <li><a href="clGetGLContextInfoKHR.html" target="pagedisplay">clGetGLContextInfoKHR</a></li> + <li><a href="clGetGLObjectInfo.html" target="pagedisplay">clGetGLObjectInfo</a></li> + <li><a href="clGetGLTextureInfo.html" target="pagedisplay">clGetGLTextureInfo</a></li> <li><a href="clGetHostTimer.html" target="pagedisplay">clGetHostTimer</a></li> <li><a href="clGetImageInfo.html" target="pagedisplay">clGetImageInfo</a></li> <li><a href="clGetKernelArgInfo.html" target="pagedisplay">clGetKernelArgInfo</a></li> <li><a href="clGetKernelInfo.html" target="pagedisplay">clGetKernelInfo</a></li> <li><a href="clGetKernelSubGroupInfo.html" target="pagedisplay">clGetKernelSubGroupInfo</a></li> + <li><a href="clGetKernelSuggestedLocalWorkSizeKHR.html" target="pagedisplay">clGetKernelSuggestedLocalWorkSizeKHR</a></li> <li><a href="clGetKernelWorkGroupInfo.html" target="pagedisplay">clGetKernelWorkGroupInfo</a></li> <li><a href="clGetMemObjectInfo.html" target="pagedisplay">clGetMemObjectInfo</a></li> + <li><a href="clGetMutableCommandInfoKHR.html" target="pagedisplay">clGetMutableCommandInfoKHR</a></li> <li><a href="clGetPipeInfo.html" target="pagedisplay">clGetPipeInfo</a></li> <li><a href="clGetPlatformIDs.html" target="pagedisplay">clGetPlatformIDs</a></li> <li><a href="clGetPlatformInfo.html" target="pagedisplay">clGetPlatformInfo</a></li> <li><a href="clGetProgramBuildInfo.html" target="pagedisplay">clGetProgramBuildInfo</a></li> <li><a href="clGetProgramInfo.html" target="pagedisplay">clGetProgramInfo</a></li> <li><a href="clGetSamplerInfo.html" target="pagedisplay">clGetSamplerInfo</a></li> + <li><a href="clGetSemaphoreHandleForTypeKHR.html" target="pagedisplay">clGetSemaphoreHandleForTypeKHR</a></li> + <li><a href="clGetSemaphoreInfoKHR.html" target="pagedisplay">clGetSemaphoreInfoKHR</a></li> <li><a href="clGetSupportedImageFormats.html" target="pagedisplay">clGetSupportedImageFormats</a></li> + <li><a href="clIcdGetPlatformIDsKHR.html" target="pagedisplay">clIcdGetPlatformIDsKHR</a></li> <li><a href="clLinkProgram.html" target="pagedisplay">clLinkProgram</a></li> + <li><a href="clReImportSemaphoreSyncFdKHR.html" target="pagedisplay">clReImportSemaphoreSyncFdKHR</a></li> + <li><a href="clReleaseCommandBufferKHR.html" target="pagedisplay">clReleaseCommandBufferKHR</a></li> <li><a href="clReleaseCommandQueue.html" target="pagedisplay">clReleaseCommandQueue</a></li> <li><a href="clReleaseContext.html" target="pagedisplay">clReleaseContext</a></li> <li><a href="clReleaseDevice.html" target="pagedisplay">clReleaseDevice</a></li> @@ -236,6 +301,9 @@ <li><a href="clReleaseMemObject.html" target="pagedisplay">clReleaseMemObject</a></li> <li><a href="clReleaseProgram.html" target="pagedisplay">clReleaseProgram</a></li> <li><a href="clReleaseSampler.html" target="pagedisplay">clReleaseSampler</a></li> + <li><a href="clReleaseSemaphoreKHR.html" target="pagedisplay">clReleaseSemaphoreKHR</a></li> + <li><a href="clRemapCommandBufferKHR.html" target="pagedisplay">clRemapCommandBufferKHR</a></li> + <li><a href="clRetainCommandBufferKHR.html" target="pagedisplay">clRetainCommandBufferKHR</a></li> <li><a href="clRetainCommandQueue.html" target="pagedisplay">clRetainCommandQueue</a></li> <li><a href="clRetainContext.html" target="pagedisplay">clRetainContext</a></li> <li><a href="clRetainDevice.html" target="pagedisplay">clRetainDevice</a></li> @@ -244,6 +312,7 @@ <li><a href="clRetainMemObject.html" target="pagedisplay">clRetainMemObject</a></li> <li><a href="clRetainProgram.html" target="pagedisplay">clRetainProgram</a></li> <li><a href="clRetainSampler.html" target="pagedisplay">clRetainSampler</a></li> + <li><a href="clRetainSemaphoreKHR.html" target="pagedisplay">clRetainSemaphoreKHR</a></li> <li><a href="clSetCommandQueueProperty.html" target="pagedisplay">clSetCommandQueueProperty</a></li> <li><a href="clSetContextDestructorCallback.html" target="pagedisplay">clSetContextDestructorCallback</a></li> <li><a href="clSetDefaultDeviceCommandQueue.html" target="pagedisplay">clSetDefaultDeviceCommandQueue</a></li> @@ -257,15 +326,20 @@ <li><a href="clSetUserEventStatus.html" target="pagedisplay">clSetUserEventStatus</a></li> <li><a href="clSVMAlloc.html" target="pagedisplay">clSVMAlloc</a></li> <li><a href="clSVMFree.html" target="pagedisplay">clSVMFree</a></li> + <li><a href="clTerminateContextKHR.html" target="pagedisplay">clTerminateContextKHR</a></li> <li><a href="clUnloadCompiler.html" target="pagedisplay">clUnloadCompiler</a></li> <li><a href="clUnloadPlatformCompiler.html" target="pagedisplay">clUnloadPlatformCompiler</a></li> + <li><a href="clUpdateMutableCommandsKHR.html" target="pagedisplay">clUpdateMutableCommandsKHR</a></li> <li><a href="clWaitForEvents.html" target="pagedisplay">clWaitForEvents</a></li> <li><a href="integerFunctions.html" target="pagedisplay">clz</a></li> <li><a href="cl_buffer_region.html" target="pagedisplay">cl_buffer_region</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_char</a></li> <li><a href="appVectorTypes.html" target="pagedisplay">cl_charn</a></li> + <li><a href="cl_device_integer_dot_product_acceleration_properties_khr.html" target="pagedisplay">cl_device_integer_dot_product_acceleration_properties_khr</a></li> + <li><a href="cl_device_pci_bus_info_khr.html" target="pagedisplay">cl_device_pci_bus_info_khr</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_double</a></li> <li><a href="appVectorTypes.html" target="pagedisplay">cl_doublen</a></li> + <li><a href="cl_dx9_surface_info_khr.html" target="pagedisplay">cl_dx9_surface_info_khr</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_float</a></li> <li><a href="appVectorTypes.html" target="pagedisplay">cl_floatn</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_half</a></li> @@ -276,6 +350,11 @@ <li><a href="appVectorTypes.html" target="pagedisplay">cl_intn</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_long</a></li> <li><a href="appVectorTypes.html" target="pagedisplay">cl_longn</a></li> + <li><a href="cl_mutable_base_config_khr.html" target="pagedisplay">cl_mutable_base_config_khr</a></li> + <li><a href="cl_mutable_dispatch_arg_khr.html" target="pagedisplay">cl_mutable_dispatch_arg_khr</a></li> + <li><a href="cl_mutable_dispatch_config_khr.html" target="pagedisplay">cl_mutable_dispatch_config_khr</a></li> + <li><a href="cl_mutable_dispatch_exec_info_khr.html" target="pagedisplay">cl_mutable_dispatch_exec_info_khr</a></li> + <li><a href="cl_name_version.html" target="pagedisplay">cl_name_version</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_short</a></li> <li><a href="appVectorTypes.html" target="pagedisplay">cl_shortn</a></li> <li><a href="appScalarTypes.html" target="pagedisplay">cl_uchar</a></li> @@ -289,6 +368,10 @@ <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_1_0</a></li> <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_1_1</a></li> <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_1_2</a></li> + <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_2_0</a></li> + <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_2_1</a></li> + <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_2_2</a></li> + <li><a href="preprocessorDirectives.html" target="pagedisplay">CL_VERSION_3_0</a></li> <li><a href="commaOperator.html" target="pagedisplay">commaOperator</a></li> <li><a href="pipeFunctions.html" target="pagedisplay">commit_read_pipe</a></li> <li><a href="pipeFunctions.html" target="pagedisplay">commit_write_pipe</a></li> @@ -326,6 +409,8 @@ <li><a href="mathFunctions.html" target="pagedisplay">exp10</a></li> <li><a href="mathFunctions.html" target="pagedisplay">exp2</a></li> <li><a href="mathFunctions.html" target="pagedisplay">expm1</a></li> + <li><a href="extendedAsyncCopyFunctions.html" target="pagedisplay">extendedAsyncCopyFunctions</a></li> + <li><a href="extendedBitOperations.html" target="pagedisplay">extendedBitOperations</a></li> <li><a href="storageSpecifiers.html" target="pagedisplay">extern</a></li> </ul> </li> @@ -564,6 +649,7 @@ <li><a href="scalarDataTypes.html" target="pagedisplay">scalarDataTypes</a></li> <li><a href="relationalFunctions.html" target="pagedisplay">select</a></li> <li><a href="selectionOperator.html" target="pagedisplay">selectionOperator</a></li> + <li><a href="SELECT_ROUNDING_MODE.html" target="pagedisplay">SELECT_ROUNDING_MODE</a></li> <li><a href="eventFunctions.html" target="pagedisplay">set_user_event_status</a></li> <li><a href="shiftOperators.html" target="pagedisplay">shiftOperators</a></li> <li><a href="miscVectorFunctions.html" target="pagedisplay">shuffle</a></li> @@ -635,18 +721,19 @@ <ul class="Level3"> <li><a href="asyncCopyFunctions.html" target="pagedisplay">wait_group_events</a></li> <li><a href="workGroupFunctions.html" target="pagedisplay">workGroupFunctions</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">workGroupUniformArithmeticFunctions</a></li> <li><a href="workItemFunctions.html" target="pagedisplay">workItemFunctions</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_all</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_any</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_all</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_any</a></li> <li><a href="syncFunctions.html" target="pagedisplay">work_group_barrier</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_broadcast</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_broadcast</a></li> <li><a href="pipeWorkgroupFunctions.html" target="pagedisplay">work_group_commit_read_pipe</a></li> <li><a href="pipeWorkgroupFunctions.html" target="pagedisplay">work_group_commit_write_pipe</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_reduce</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_reduce</a></li> <li><a href="pipeWorkgroupFunctions.html" target="pagedisplay">work_group_reserve_read_pipe</a></li> <li><a href="pipeWorkgroupFunctions.html" target="pagedisplay">work_group_reserve_write_pipe</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_scan_exclusive</a></li> - <li><a href="workGroupFunctions.html" target="pagedisplay">work_group_scan_inclusive</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_scan_exclusive</a></li> + <li><a href="workGroupUniformArithmeticFunctions.html" target="pagedisplay">work_group_scan_inclusive</a></li> <li><a href="optionalAttributeQualifiers.html" target="pagedisplay">work_group_size_hint</a></li> <li><a href="imageWriteFunctions.html" target="pagedisplay">write_imagef</a></li> <li><a href="imageWriteFunctions.html" target="pagedisplay">write_imagei</a></li>
diff --git a/sdk/3.0/docs/man/html/unaryLogicalOperator.html b/sdk/3.0/docs/man/html/unaryLogicalOperator.html index 83b87ff..eb3006d 100644 --- a/sdk/3.0/docs/man/html/unaryLogicalOperator.html +++ b/sdk/3.0/docs/man/html/unaryLogicalOperator.html
@@ -784,19 +784,21 @@ are scalar and a vector signed integer type of the same size as the source operands if the source operands are vector types. Vector source operands of type <code>char<em>n</em></code> and <code>uchar<em>n</em></code> return a -<code>char<em>n</em></code> result; vector source operands of type <code>short<em>n</em></code> and +<code>char<em>n</em></code> result; vector source operands of type +<code>_half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, +<code>short<em>n</em></code> and <code>ushort<em>n</em></code> return a <code>short<em>n</em></code> result; vector source operands of type <code>int<em>n</em></code>, <code>uint<em>n</em></code> and <code>float<em>n</em></code> return an <code>int<em>n</em></code> result; vector source operands of type <code>long<em>n</em></code>, <code>ulong<em>n</em></code> and <code>double<em>n</em></code> return a <code>long<em>n</em></code> result.</p> </div> <div class="paragraph"> -<p>For scalar types, the result of the logical unary operator is 0 if the value -of its operand compares unequal to 0, and 1 if the value of its operand +<p>For scalar types, the logical unary operator shall return 0 if the value of +its operand compares unequal to 0, and return 1 if the value of its operand compares equal to 0. -For vector types, the unary operator shall return a 0 if the value of its -operand compares unequal to 0, and -1 (i.e. all bits set) if the value of -its operand compares equal to 0.</p> +For vector types, the unary operator shall return 0 if the value of its +operand compares unequal to 0, and return -1 (i.e. all bits set) if the +value of its operand compares equal to 0.</p> </div> </div> </div> @@ -824,7 +826,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -832,10 +834,16 @@ </div> </div> </div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +</div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/unaryOperators.html b/sdk/3.0/docs/man/html/unaryOperators.html index 91240a2..689ad63 100644 --- a/sdk/3.0/docs/man/html/unaryOperators.html +++ b/sdk/3.0/docs/man/html/unaryOperators.html
@@ -804,7 +804,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -814,8 +814,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/vectorDataLoadandStoreFunctions.html b/sdk/3.0/docs/man/html/vectorDataLoadandStoreFunctions.html index 1458de1..11d0750 100644 --- a/sdk/3.0/docs/man/html/vectorDataLoadandStoreFunctions.html +++ b/sdk/3.0/docs/man/html/vectorDataLoadandStoreFunctions.html
@@ -775,19 +775,55 @@ <h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-vector-loadstore" target="_blank" rel="noopener">following table</a> describes the list of supported -functions that allow you to read and write vector types from a pointer to -memory. -We use the generic type <code>gentype</code> to indicate the built-in data types -<code>char</code>, <code>uchar</code>, <code>short</code>, <code>ushort</code>, <code>int</code>, <code>uint</code>, <code>long</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, <code>ulong</code>, -<code>float</code> or <code>double</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>. -We use the generic type name <code>gentype<em>n</em></code> to represent n-element vectors -of <code>gentype</code> elements. -We use the type name <code>half<em>n</em></code> to represent n-element vectors of half -elements. -The suffix <em>n</em> is also used in the function names (i.e. <strong>vload<em>n</em></strong>, -<strong>vstore<em>n</em></strong> etc.), where <em>n</em> = 2, 3 <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup>, 4, 8 or -16.</p> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-vector-loadstore" target="_blank" rel="noopener">Built-in Vector Data Load and Store +Functions</a> table describes the list of supported functions that allow you +to read and write vector types from a pointer to memory.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentype</code> indicates that the function can take any of</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>char</code>, <code>uchar</code>, <code>short</code>, <code>ushort</code>, <code>int</code>, <code>uint</code>, <code>long</code> +<sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> or <code>ulong</code></p> +</li> +<li> +<p><code>float</code> or <code>double</code> <sup class="footnote" id="_footnote_double-supported">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup></p> +</li> +<li> +<p><code>half</code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p> +</li> +</ul> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +All functions taking or returning <code>half</code> types are supported only when +the <code>cl_khr_<wbr>fp16</code> extension macro is supported. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>as the type for the arguments.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>gentype<em>n</em></code> indicates an <em>n</em>-element vector of +<code>gentype</code> elements.</p> +</div> +<div class="paragraph"> +<p>The generic type name <code>half<em>n</em></code> indicates an <em>n</em>-element vector of <code>half</code> +elements.</p> +</div> +<div class="paragraph"> +<p>The suffix <em>n</em> is also used in the function names (i.e. <strong>vload<em>n</em></strong>, +<strong>vstore<em>n</em></strong> etc.), where <em>n</em> = 2, 3 <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup>, 4, +8 or 16.</p> </div> <table id="table-vector-loadstore" class="tableblock frame-all grid-all stretch"> <caption class="title">Table 1. Built-in Vector Data Load and Store Functions</caption> @@ -795,48 +831,52 @@ <col style="width: 70%;"> <col style="width: 30%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const __global gentype *<em>p</em>)<br> gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const __local gentype *<em>p</em>)<br> gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const __constant gentype *<em>p</em>)<br> - gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const __private gentype *<em>p</em>)<br></p> + gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const __private gentype *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> gentype<em>n</em> <strong>vload<em>n</em></strong>(size_t <em>offset</em>, const gentype *<em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Return <code>sizeof(gentype<em>n</em>)</code> bytes of data, where the first <code>(<em>n</em> * sizeof(gentype))</code> bytes are read from the address computed as <code>(<em>p</em> + (<em>offset</em> * <em>n</em>))</code>. The computed address must be 8-bit aligned if <code>gentype</code> is <code>char</code> or - <code>uchar</code>; 16-bit aligned if <code>gentype</code> is <code>short</code> or <code>ushort</code>; 32-bit - aligned if <code>gentype</code> is <code>int</code>, <code>uint</code>, or <code>float</code>; and 64-bit aligned - if <code>gentype</code> is <code>long</code> or <code>ulong</code>.</p></td> + <code>uchar</code>; 16-bit aligned if <code>gentype</code> is +<code>half</code>, + <code>short</code> or <code>ushort</code>; 32-bit aligned if <code>gentype</code> is <code>int</code>, <code>uint</code>, or + <code>float</code>; and 64-bit aligned if <code>gentype</code> is <code>long</code> or <code>ulong</code>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>vstore<em>n</em></strong>(gentype<em>n</em> <em>data</em>, size_t <em>offset</em>, __global gentype *<em>p</em>)<br> void <strong>vstore<em>n</em></strong>(gentype<em>n</em> <em>data</em>, size_t <em>offset</em>, __local gentype *<em>p</em>)<br> - void <strong>vstore<em>n</em></strong>(gentype<em>n</em> <em>data</em>, size_t <em>offset</em>, __private gentype *<em>p</em>)<br></p> + void <strong>vstore<em>n</em></strong>(gentype<em>n</em> <em>data</em>, size_t <em>offset</em>, __private gentype *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstore<em>n</em></strong>(gentype<em>n</em> <em>data</em>, size_t <em>offset</em>, gentype *<em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Write <code><em>n</em> * sizeof(gentype)</code> bytes given by <em>data</em> to the address computed as <code>(<em>p</em> + (<em>offset</em> * <em>n</em>))</code>. The computed address must be 8-bit aligned if <code>gentype</code> is <code>char</code> or - <code>uchar</code>; 16-bit aligned if <code>gentype</code> is <code>short</code> or <code>ushort</code>; 32-bit - aligned if <code>gentype</code> is <code>int</code>, <code>uint</code>, or <code>float</code>; and 64-bit aligned - if <code>gentype</code> is <code>long</code> or <code>ulong</code>.</p></td> + <code>uchar</code>; 16-bit aligned if <code>gentype</code> is +<code>half</code>, + <code>short</code> or <code>ushort</code>; 32-bit aligned if <code>gentype</code> is <code>int</code>, <code>uint</code>, or + <code>float</code>; and 64-bit aligned if <code>gentype</code> is <code>long</code> or <code>ulong</code>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>vload_half</strong>(size_t <em>offset</em>, const __global half *<em>p</em>)<br> float <strong>vload_half</strong>(size_t <em>offset</em>, const __local half *<em>p</em>)<br> float <strong>vload_half</strong>(size_t <em>offset</em>, const __constant half *<em>p</em>)<br> - float <strong>vload_half</strong>(size_t <em>offset</em>, const __private half *<em>p</em>)<br></p> + float <strong>vload_half</strong>(size_t <em>offset</em>, const __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float <strong>vload_half</strong>(size_t <em>offset</em>, const half *<em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Read <code>sizeof(half)</code> bytes of data from the address computed as <code>(<em>p</em> + <em>offset</em>)</code>. @@ -849,9 +889,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const __global half *<em>p</em>)<br> float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const __local half *<em>p</em>)<br> float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const __constant half *<em>p</em>)<br> - float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const __private half *<em>p</em>)<br></p> + float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float<em>n</em> <strong>vload_half<em>n</em></strong>(size_t <em>offset</em>, const half *<em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Read <code>(<em>n</em> * sizeof(half))</code> bytes of data from the address computed as <code>(<em>p</em> + (<em>offset * n</em>))</code>. @@ -865,19 +905,19 @@ void <strong>vstore_half_rte</strong>(float <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(float <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(float <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(float <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstore_half</strong>(float <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(float <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(float <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -896,19 +936,19 @@ void <strong>vstore_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -928,19 +968,19 @@ void <strong>vstore_half_rte</strong>(double <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(double <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(double <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half_rtp</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstore_half_rtn</strong>(double <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstore_half</strong>(double <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half_rte</strong>(double <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half_rtz</strong>(double <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -959,19 +999,19 @@ void <strong>vstore_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstore_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstore_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstore_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -989,9 +1029,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const __global half *<em>p</em>)<br> float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const __local half *<em>p</em>)<br> float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const __constant half *<em>p</em>)<br> - float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const __private half *<em>p</em>)<br></p> + float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> float<em>n</em> <strong>vloada_half<em>n</em></strong>(size_t <em>offset</em>, const half *<em>p</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">For n = 2, 4, 8 and 16, read <code>sizeof(half<em>n</em>)</code> bytes of data from the address computed as (<em>p</em> + (<em>offset</em> * <em>n</em>)). @@ -1008,19 +1048,19 @@ void <strong>vstorea_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -1042,19 +1082,19 @@ void <strong>vstorea_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __global half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __local half *<em>p</em>)</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtp</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br> - void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)<br></p> + void <strong>vstorea_half<em>n</em>_rtn</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, __private half *<em>p</em>)</p> <p class="tableblock"> For OpenCL C 2.0, or OpenCL C 3.0 or newer with the - <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:<br></p> + <code>__opencl_c_<wbr>generic_<wbr>address_<wbr>space</code> feature:</p> <p class="tableblock"> void <strong>vstorea_half<em>n</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rte</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> void <strong>vstorea_half<em>n</em>_rtz</strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br> @@ -1125,7 +1165,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1136,19 +1176,22 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_1">1</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_2">2</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. <strong>vload3</strong> and <strong>vload_half3</strong> read (<em>x</em>,<em>y</em>,<em>z</em>) components from address <code>(<em>p</em> + (<em>offset</em> * 3))</code> into a 3-component vector. <strong>vstore3</strong> and <strong>vstore_half3</strong> write (<em>x</em>,<em>y</em>,<em>z</em>) components from a 3-component vector to address <code>(<em>p</em> + (<em>offset</em> * 3))</code>. In addition, <strong>vloada_half3</strong> reads (<em>x</em>,<em>y</em>,<em>z</em>) components from address <code>(<em>p</em> + (<em>offset</em> * 4))</code> into a 3-component vector and <strong>vstorea_half3</strong> writes (<em>x</em>,<em>y</em>,<em>z</em>) components from a 3-component vector to address <code>(<em>p</em> + (<em>offset</em> * 4))</code>. Whether <strong>vloada_half3</strong> and <strong>vstorea_half3</strong> read/write padding data between the third vector element and the next alignment boundary is implementation-defined. The <strong>vloada_</strong> and <strong>vstorea_</strong> variants are provided to access data that is aligned to the size of the vector, and are intended to enable performance on hardware that can take advantage of the increased alignment. +<a href="#_footnoteref_3">3</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_4"> +<a href="#_footnoteref_4">4</a>. <strong>vload3</strong> and <strong>vload_half3</strong> read (<em>x</em>,<em>y</em>,<em>z</em>) components from address <code>(<em>p</em> + (<em>offset</em> * 3))</code> into a 3-component vector. <strong>vstore3</strong> and <strong>vstore_half3</strong> write (<em>x</em>,<em>y</em>,<em>z</em>) components from a 3-component vector to address <code>(<em>p</em> + (<em>offset</em> * 3))</code>. In addition, <strong>vloada_half3</strong> reads (<em>x</em>,<em>y</em>,<em>z</em>) components from address <code>(<em>p</em> + (<em>offset</em> * 4))</code> into a 3-component vector and <strong>vstorea_half3</strong> writes (<em>x</em>,<em>y</em>,<em>z</em>) components from a 3-component vector to address <code>(<em>p</em> + (<em>offset</em> * 4))</code>. Whether <strong>vloada_half3</strong> and <strong>vstorea_half3</strong> read/write padding data between the third vector element and the next alignment boundary is implementation-defined. The <strong>vloada_</strong> and <strong>vstorea_</strong> variants are provided to access data that is aligned to the size of the vector, and are intended to enable performance on hardware that can take advantage of the increased alignment. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/vectorDataTypes.html b/sdk/3.0/docs/man/html/vectorDataTypes.html index b2cdaea..6813227 100644 --- a/sdk/3.0/docs/man/html/vectorDataTypes.html +++ b/sdk/3.0/docs/man/html/vectorDataTypes.html
@@ -805,11 +805,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Type</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>char<em>n</em></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A vector of <em>n</em> 8-bit signed two’s complement integer values.</p></td> @@ -843,15 +845,17 @@ <td class="tableblock halign-left valign-top"><p class="tableblock">A vector of <em>n</em> 64-bit unsigned integer values.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>half<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">A vector of <em>n</em> 16-bit floating-point values.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>float<em>n</em></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A vector of <em>n</em> 32-bit floating-point values.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>double<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>double<em>n</em></code> <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">A vector of <em>n</em> 64-bit floating-point values.</p> -<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for OpenCL C 1.2 or newer. In - OpenCL C 3.0 it requires support of the <code>__opencl_c_<wbr>fp64</code> feature. - Also see extension <strong>cl_khr_fp64</strong>.</p></td> +<p class="tableblock"> <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">Requires</a> support for <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#double-precision-support" target="_blank" rel="noopener">double-precision</a>.</p></td> </tr> </tbody> </table> @@ -867,11 +871,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type in OpenCL Language</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>API type for application</strong></p></td> +<th class="tableblock halign-left valign-top">Type in OpenCL Language</th> +<th class="tableblock halign-left valign-top">API type for application</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>char<em>n</em></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_char<em>n</em></code></p></td> @@ -905,6 +911,10 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_ulong<em>n</em></code></p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>half<em>n</em></code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_half<em>n</em></code></p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>float<em>n</em></code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_float<em>n</em></code></p></td> </tr> @@ -940,7 +950,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -954,16 +964,19 @@ <a href="#_footnoteref_1">1</a>. Built-in vector data types are supported by the OpenCL implementation even if the underlying compute device does not natively support any or all of the vector data types. They are to be converted by the device compiler to appropriate instructions that use underlying built-in types supported natively by the compute device. Refer to Appendix B in the OpenCL API specification for a description of the order of the components of a vector type in memory. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. The <code>long<em>n</em></code> and <code>ulong<em>n</em></code> vector types are optional types for EMBEDDED profile devices that are supported if the value of the <code>CL_DEVICE_EXTENSIONS</code> device query contains <strong>cles_khr_int64</strong>. An OpenCL C 3.0 compiler must also define the <code>__opencl_c_int64</code> feature macro unconditionally for FULL profile devices, or for EMBEDDED profile devices that support these types. +<a href="#_footnoteref_2">2</a>. The <code>long<em>n</em></code> and <code>ulong<em>n</em></code> vector types are optional types for EMBEDDED profile devices that are supported if the value of the <code>CL_DEVICE_<wbr>EXTENSIONS</code> device query contains <strong>cles_khr_int64</strong>. An OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>int64</code> feature macro unconditionally for FULL profile devices, or for EMBEDDED profile devices that support these types. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. The <code>double<em>n</em></code> vector type is an optional type that is supported if the value of the <code>CL_DEVICE_DOUBLE_FP_CONFIG</code> device query is not zero. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. +</div> +<div class="footnote" id="_footnotedef_4"> +<a href="#_footnoteref_4">4</a>. The <code>double<em>n</em></code> vector type is an optional type that is supported if the value of the <code>CL_DEVICE_<wbr>DOUBLE_<wbr>FP_<wbr>CONFIG</code> device query is not zero. If this is the case then an OpenCL C 3.0 compiler must also define the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/workGroupFunctions.html b/sdk/3.0/docs/man/html/workGroupFunctions.html index 8ceb712..27d09dd 100644 --- a/sdk/3.0/docs/man/html/workGroupFunctions.html +++ b/sdk/3.0/docs/man/html/workGroupFunctions.html
@@ -804,11 +804,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>work_group_all</strong>(int <em>predicate</em>)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Evaluates <em>predicate</em> for all work-items in the work-group and returns @@ -947,7 +949,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -958,19 +960,19 @@ <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> -<a href="#_footnoteref_1">1</a>. Only if the <strong>cl_khr_fp16</strong> extension is supported and has been enabled. +<a href="#_footnoteref_1">1</a>. Only if the <code>cl_khr_<wbr>fp16</code> extension is supported and has been enabled. </div> <div class="footnote" id="_footnotedef_2"> -<a href="#_footnoteref_2">2</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_int64</code> feature macro. +<a href="#_footnoteref_2">2</a>. Only if 64-bit integers are supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>int64</code> feature macro. </div> <div class="footnote" id="_footnotedef_3"> -<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_fp64</code> feature macro. +<a href="#_footnoteref_3">3</a>. Only if double precision is supported. In OpenCL C 3.0 this will be indicated by the presence of the <code>__opencl_c_<wbr>fp64</code> feature macro. </div> </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>
diff --git a/sdk/3.0/docs/man/html/workGroupUniformArithmeticFunctions.html b/sdk/3.0/docs/man/html/workGroupUniformArithmeticFunctions.html new file mode 100644 index 0000000..4241fa2 --- /dev/null +++ b/sdk/3.0/docs/man/html/workGroupUniformArithmeticFunctions.html
@@ -0,0 +1,1048 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.16"> +<title>workGroupUniformArithmeticFunctions(3)</title> +<style> +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 8/9. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 8/9. */ +audio, canvas, video { display: inline-block; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */ +[hidden], template { display: none; } + +script { display: none !important; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } + +/** Remove default margin. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Remove the gray background color from active links in IE 10. */ +a { background: transparent; } + +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +a:active, a:hover { outline: 0; } + +/* ========================================================================== Typography ========================================================================== */ +/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +/** Address styling not present in IE 8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ +b, strong { font-weight: bold; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. */ +hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 8/9. */ +mark { background: #ff0; color: #000; } + +/** Correct font family set oddly in Safari 5 and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre-wrap; } + +/** Set consistent quote types. */ +q { quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** Remove border when inside `a` element in IE 8/9. */ +img { border: 0; } + +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 8/9 and Safari 5. */ +figure { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ +legend { border: 0; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ +button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ } + +/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ +button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } + +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */ +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } + +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** Remove inner padding and border in Firefox 4+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } + +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; } + +meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; } + +meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; } + +*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } + +html, body { font-size: 100%; } + +body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; } + +a:hover { cursor: pointer; } + +img, object, embed { max-width: 100%; height: auto; } + +object, embed { height: 100%; } + +img { -ms-interpolation-mode: bicubic; } + +#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } + +.left { float: left !important; } + +.right { float: right !important; } + +.text-left { text-align: left !important; } + +.text-right { text-align: right !important; } + +.text-center { text-align: center !important; } + +.text-justify { text-align: justify !important; } + +.hide { display: none; } + +.antialiased { -webkit-font-smoothing: antialiased; } + +img { display: inline-block; vertical-align: middle; } + +textarea { height: auto; min-height: 50px; } + +select { width: 100%; } + +object, svg { display: inline-block; vertical-align: middle; } + +.center { margin-left: auto; margin-right: auto; } + +.spread { width: 100%; } + +p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; } + +.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; } + +/* Default Link Styles */ +a { color: #0068b0; text-decoration: none; line-height: inherit; } +a:hover, a:focus { color: #333; } +a img { border: none; } + +/* Default paragraph styles */ +p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; } +p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; } + +/* Default header styles */ +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; } +h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; } + +h1 { font-size: 2.125em; } + +h2 { font-size: 1.6875em; } + +h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; } + +h4 { font-size: 1.125em; } + +h5 { font-size: 1.125em; } + +h6 { font-size: 1em; } + +hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; } + +/* Helpful Typography Defaults */ +em, i { font-style: italic; line-height: inherit; } + +strong, b { font-weight: bold; line-height: inherit; } + +small { font-size: 60%; line-height: inherit; } + +code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; } + +/* Lists */ +ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; } + +ul, ol { margin-left: 1.5em; } +ul.no-bullet, ol.no-bullet { margin-left: 1.5em; } + +/* Unordered Lists */ +ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ } +ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; } +ul.square { list-style-type: square; } +ul.circle { list-style-type: circle; } +ul.disc { list-style-type: disc; } +ul.no-bullet { list-style: none; } + +/* Ordered Lists */ +ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; } + +/* Definition Lists */ +dl dt { margin-bottom: 0.3em; font-weight: bold; } +dl dd { margin-bottom: 0.75em; } + +/* Abbreviations */ +abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; } + +abbr { text-transform: none; } + +/* Blockquotes */ +blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; } +blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; } +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, blockquote cite a:visited { color: #365E7A; } + +blockquote, blockquote p { line-height: 1.6; color: #333; } + +/* Microformats */ +.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; } +.vcard li { margin: 0; display: block; } +.vcard .fn { font-weight: bold; font-size: 0.9375em; } + +.vevent .summary { font-weight: bold; } +.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; } + +@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + h1 { font-size: 2.75em; } + h2 { font-size: 2.3125em; } + h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } + h4 { font-size: 1.4375em; } } +/* Tables */ +table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; } +table thead, table tfoot { background: #eee; font-weight: bold; } +table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; } +table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; } +table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; } +table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; } + +body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; } + +a:hover, a:focus { text-decoration: underline; } + +.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } +.clearfix:after, .float-group:after { clear: both; } + +*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; } +*:not(pre) > code.nobreak { word-wrap: normal; } +*:not(pre) > code.nowrap { white-space: nowrap; } + +pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; } + +em em { font-style: normal; } + +strong strong { font-weight: normal; } + +.keyseq { color: #333333; } + +kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; } + +.keyseq kbd:first-child { margin-left: 0; } + +.keyseq kbd:last-child { margin-right: 0; } + +.menuseq, .menuref { color: #000; } + +.menuseq b:not(.caret), .menuref { font-weight: inherit; } + +.menuseq { word-spacing: -0.02em; } +.menuseq b.caret { font-size: 1.25em; line-height: 0.8; } +.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; } + +b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } + +b.button:before { content: "["; padding: 0 3px 0 2px; } + +b.button:after { content: "]"; padding: 0 2px 0 3px; } + +#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; } +#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } +#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } + +#content { margin-top: 1.25em; } + +#content:before { content: none; } + +#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; } +#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; } +#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; } +#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; } +#header .details span:first-child { margin-left: -0.125em; } +#header .details span.email a { color: #333; } +#header .details br { display: none; } +#header .details br + span:before { content: "\00a0\2013\00a0"; } +#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; } +#header .details br + span#revremark:before { content: "\00a0|\00a0"; } +#header #revnumber { text-transform: capitalize; } +#header #revnumber:after { content: "\00a0"; } + +#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; } + +#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; } +#toc > ul { margin-left: 0.125em; } +#toc ul.sectlevel0 > li > a { font-style: italic; } +#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; } +#toc ul { font-family: Noto, sans-serif; list-style-type: none; } +#toc li { line-height: 1.3334; margin-top: 0.3334em; } +#toc a { text-decoration: none; } +#toc a:active { text-decoration: underline; } + +#toctitle { color: black; font-size: 1.2em; } + +@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; } + body.toc2 { padding-left: 15em; padding-right: 0; } + #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } + #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; } + #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; } + #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } + body.toc2.toc-right { padding-left: 0; padding-right: 15em; } + body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } } +@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } + #toc.toc2 { width: 20em; } + #toc.toc2 #toctitle { font-size: 1.375em; } + #toc.toc2 > ul { font-size: 0.95em; } + #toc.toc2 ul ul { padding-left: 1.25em; } + body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } +#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +#content #toc > :first-child { margin-top: 0; } +#content #toc > :last-child { margin-bottom: 0; } + +#footer { max-width: 100%; background: none; padding: 1.25em; } + +#footer-text { color: black; line-height: 1.44; } + +#content { margin-bottom: 0.625em; } + +.sect1 { padding-bottom: 0.625em; } + +@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } + .sect1 { padding-bottom: 1.25em; } } +.sect1:last-child { padding-bottom: 0; } + +.sect1 + .sect1 { border-top: 0 solid #ddd; } + +#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; } +#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; } +#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; } +#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; } +#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; } + +.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; } + +.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; } + +table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } + +.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; } + +table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } + +.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; } +.admonitionblock > table td.icon { text-align: center; width: 80px; } +.admonitionblock > table td.icon img { max-width: initial; } +.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; } +.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; } +.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } + +.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.exampleblock > .content > :first-child { margin-top: 0; } +.exampleblock > .content > :last-child { margin-bottom: 0; } + +.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; } +.sidebarblock > :first-child { margin-top: 0; } +.sidebarblock > :last-child { margin-bottom: 0; } +.sidebarblock > .content > .title { color: black; margin-top: 0; } + +.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } + +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; } +.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; } + +.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; } +.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } +@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } } +@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } } + +.literalblock.output pre { color: #eee; background-color: #264357; } + +.listingblock pre.highlightjs { padding: 0; } +.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; } + +.listingblock > .content { position: relative; } + +.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; } + +.listingblock:hover code[data-lang]:before { display: block; } + +.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } + +.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; } + +table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; } + +table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; } + +table.pyhltable td.code { padding-left: .75em; padding-right: 0; } + +pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; } + +pre.pygments .lineno { display: inline-block; margin-right: .25em; } + +table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; } + +.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; } +.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; } +.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; } +.quoteblock blockquote { margin: 0; padding: 0; border: 0; } +.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } +.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } +.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; } +.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; } +.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; } +.quoteblock .quoteblock blockquote:before { display: none; } + +.verseblock { margin: 0 1em 0.75em 1em; } +.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; } +.verseblock pre strong { font-weight: 400; } +.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; } + +.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; } +.quoteblock .attribution br, .verseblock .attribution br { display: none; } +.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; } + +.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; } +.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; } +.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; } + +table.tableblock { max-width: 100%; border-collapse: separate; } +table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } + +table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; } + +table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; } + +table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; } + +table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; } + +table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; } + +table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; } + +table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; } + +table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; } + +table.frame-all { border-width: 1px; } + +table.frame-sides { border-width: 0 1px; } + +table.frame-topbot { border-width: 1px 0; } + +th.halign-left, td.halign-left { text-align: left; } + +th.halign-right, td.halign-right { text-align: right; } + +th.halign-center, td.halign-center { text-align: center; } + +th.valign-top, td.valign-top { vertical-align: top; } + +th.valign-bottom, td.valign-bottom { vertical-align: bottom; } + +th.valign-middle, td.valign-middle { vertical-align: middle; } + +table thead th, table tfoot th { font-weight: bold; } + +tbody tr th { display: table-cell; line-height: 1.4; background: #eee; } + +tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; } + +p.tableblock > code:only-child { background: none; padding: 0; } + +p.tableblock { font-size: 1em; } + +td > div.verse { white-space: pre; } + +ol { margin-left: 1.75em; } + +ul li ol { margin-left: 1.5em; } + +dl dd { margin-left: 1.125em; } + +dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; } + +ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; } + +ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; } + +ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; } + +ul.unstyled, ol.unstyled { margin-left: 0; } + +ul.checklist { margin-left: 0.625em; } + +ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; } + +ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } + +ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; } + +ul.inline > li { margin-left: 0.75em; } + +.unstyled dl dt { font-weight: normal; font-style: normal; } + +ol.arabic { list-style-type: decimal; } + +ol.decimal { list-style-type: decimal-leading-zero; } + +ol.loweralpha { list-style-type: lower-alpha; } + +ol.upperalpha { list-style-type: upper-alpha; } + +ol.lowerroman { list-style-type: lower-roman; } + +ol.upperroman { list-style-type: upper-roman; } + +ol.lowergreek { list-style-type: lower-greek; } + +.hdlist > table, .colist > table { border: 0; background: none; } +.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } + +td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; } + +td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; } + +.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } + +.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; } +.colist > table tr > td:first-of-type img { max-width: initial; } +.colist > table tr > td:last-of-type { padding: 0.25em 0; } + +.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; } + +.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } +.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } +.imageblock > .title { margin-bottom: 0; } +.imageblock.thumb, .imageblock.th { border-width: 6px; } +.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } + +.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } +.image.left { margin-right: 0.625em; } +.image.right { margin-left: 0.625em; } + +a.image { text-decoration: none; display: inline-block; } +a.image object { pointer-events: none; } + +sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; } +sup.footnote a, sup.footnoteref a { text-decoration: none; } +sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; } + +#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } +#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; } +#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; } +#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; } +#footnotes .footnote:last-of-type { margin-bottom: 0; } +#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } + +.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; } +.gist .file-data > table td.line-data { width: 99%; } + +div.unbreakable { page-break-inside: avoid; } + +.big { font-size: larger; } + +.small { font-size: smaller; } + +.underline { text-decoration: underline; } + +.overline { text-decoration: overline; } + +.line-through { text-decoration: line-through; } + +.aqua { color: #00bfbf; } + +.aqua-background { background-color: #00fafa; } + +.black { color: black; } + +.black-background { background-color: black; } + +.blue { color: #0000bf; } + +.blue-background { background-color: #0000fa; } + +.fuchsia { color: #bf00bf; } + +.fuchsia-background { background-color: #fa00fa; } + +.gray { color: #606060; } + +.gray-background { background-color: #7d7d7d; } + +.green { color: #006000; } + +.green-background { background-color: #007d00; } + +.lime { color: #00bf00; } + +.lime-background { background-color: #00fa00; } + +.maroon { color: #600000; } + +.maroon-background { background-color: #7d0000; } + +.navy { color: #000060; } + +.navy-background { background-color: #00007d; } + +.olive { color: #606000; } + +.olive-background { background-color: #7d7d00; } + +.purple { color: #600060; } + +.purple-background { background-color: #7d007d; } + +.red { color: #bf0000; } + +.red-background { background-color: #fa0000; } + +.silver { color: #909090; } + +.silver-background { background-color: #bcbcbc; } + +.teal { color: #006060; } + +.teal-background { background-color: #007d7d; } + +.white { color: #bfbfbf; } + +.white-background { background-color: #fafafa; } + +.yellow { color: #bfbf00; } + +.yellow-background { background-color: #fafa00; } + +span.icon > .fa { cursor: default; } +a span.icon > .fa { cursor: inherit; } + +.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; } +.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; } +.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; } +.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; } +.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; } +.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; } + +.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; } +.conum[data-value] * { color: #fff !important; } +.conum[data-value] + b { display: none; } +.conum[data-value]:after { content: attr(data-value); } +pre .conum[data-value] { position: relative; top: -0.125em; } + +b.conum * { color: inherit !important; } + +.conum:not([data-value]):empty { display: none; } + +h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; } + +.sect1 { padding-bottom: 0; } + +#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; } + +.sidebarblock { border-color: #aaa; } + +code { -webkit-border-radius: 4px; border-radius: 4px; } + +p.tableblock.header { color: #6d6e71; } + +.literalblock pre, .listingblock pre { background: #eee; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */ +a code { color: inherit; } + +/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */ +/* Make VUID anchor handles*/ +li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; } + +li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; } + +li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; } + +li > p > a[id^="VUID-"].link { color: black; text-decoration: none; } + +/* TODO: not quite sure what these two do */ +li > p > a[id^="VUID-"].link:hover { color: black; } + +.vuid { color: #4d4d4d; font-family: monospace; } + +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<link rel="stylesheet" href="../../katex/katex.min.css"> +<script src="../../katex/katex.min.js"></script> +<script src="../../katex/contrib/auto-render.min.js"></script> + <!-- Use KaTeX to render math once document is loaded, see + https://github.com/Khan/KaTeX/tree/master/contrib/auto-render --> +<script> + document.addEventListener("DOMContentLoaded", function () { + renderMathInElement( + document.body, + { + delimiters: [ + { left: "$$", right: "$$", display: true}, + { left: "\\[", right: "\\]", display: true}, + { left: "$", right: "$", display: false}, + { left: "\\(", right: "\\)", display: false} + ] + } + ); + }); +</script></head> +<body class="manpage"> +<div id="header"> +<h1>workGroupUniformArithmeticFunctions(3) Manual Page</h1> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<p>workGroupUniformArithmeticFunctions - Work-group Collective Uniform Arithmetic Functions</p> +</div> +</div> +<div id="content"> +<div class="sect1"> +<h2 id="_description"><a class="anchor" href="#_description"></a>Description</h2> +<div class="sectionbody"> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +The functionality described in this section <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> +support for OpenCL C 2.0 and the <code>cl_khr_<wbr>work_<wbr>group_<wbr>uniform_<wbr>arithmetic</code> +extension macro. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-logical" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-logical</a> table describes the OpenCL C +programming language built-in functions that perform logical arithmetic +operations across work items in a work-group. +These functions must be encountered by all work items in a work-group +executing the kernel, otherwise the behavior is undefined. +For these functions, a non-zero <em>predicate</em> argument or return value is +logically <code>true</code> and a zero <em>predicate</em> argument or return value is +logically <code>false</code>.</p> +</div> +<table id="table-builtin-work-group-logical" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 1. Built-in Work-group Logical Arithmetic Functions</caption> +<colgroup> +<col style="width: 57.1428%;"> +<col style="width: 42.8572%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">int work_group_reduce_logical_and( + int predicate); +int work_group_reduce_logical_or( + int predicate); +int work_group_reduce_logical_xor( + int predicate);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the logical <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>predicate</em> for all work + items in the work-group.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">int work_group_scan_inclusive_logical_and( + int predicate); +int work_group_scan_inclusive_logical_or( + int predicate); +int work_group_scan_inclusive_logical_xor( + int predicate);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an inclusive scan operation, which is the logical + <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>predicate</em> for all work items in the + work-group with a work-group linear local ID less than or equal to this + work item’s work-group linear local ID.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">int work_group_scan_exclusive_logical_and( + int predicate); +int work_group_scan_exclusive_logical_or( + int predicate); +int work_group_scan_exclusive_logical_xor( + int predicate);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an exclusive scan operation, which is the logical + <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>predicate</em> for all work items in the + work-group with a work-group linear local ID less than this work item’s + work-group linear local ID.</p> +<p class="tableblock"> If there is no work item in the work-group with a work-group linear + local ID less than this work item’s work-group linear local ID then an + identity value <code>I</code> is returned. + For <strong>and</strong>, the identity value is <code>true</code> (non-zero). + For <strong>or</strong> and <strong>xor</strong>, the identity value is <code>false</code> (zero).</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-bitwise-integer" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-bitwise-integer</a> table describes the OpenCL +C programming language built-in functions that perform bitwise integer +operations across work items in a work-group. +These functions must be encountered by all work items in a work-group +executing the kernel, otherwise the behavior is undefined. +For the functions below, the generic type name <code>gentype</code> may be one of the +supported built-in scalar data types <code>int</code>, <code>uint</code>, <code>long</code>, and <code>ulong</code>.</p> +</div> +<table id="table-builtin-work-group-bitwise-integer" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Built-in Work-group Bitwise Integer Functions</caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_reduce_and( + gentype value); +gentype work_group_reduce_or( + gentype value); +gentype work_group_reduce_xor( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the bitwise <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>value</em> for all work items + in the work-group.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_scan_inclusive_and( + gentype value); +gentype work_group_scan_inclusive_or( + gentype value); +gentype work_group_scan_inclusive_xor( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an inclusive scan operation, which is the bitwise + <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>value</em> for all work items in the work-group + with a work-group linear local ID less than or equal to this work item’s + work-group linear local ID.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_scan_exclusive_and( + gentype value); +gentype work_group_scan_exclusive_or( + gentype value); +gentype work_group_scan_exclusive_xor( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an exclusive scan operation, which is the bitwise + <strong>and</strong>, <strong>or</strong>, or <strong>xor</strong> of <em>value</em> for all work items in the work-group + with a work-group linear local ID less than this work item’s work-group + linear local ID.</p> +<p class="tableblock"> If there is no work item in the work-group with a work-group linear + local ID less than this work item’s work-group linear local ID then an + identity value <code>I</code> is returned. + For <strong>and</strong>, the identity value is <code>~0</code> (all bits set). + For <strong>or</strong> and <strong>xor</strong>, the identity value is <code>0</code>.</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>The <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-multiplicative" class="bare" target="_blank" rel="noopener">https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#table-builtin-work-group-multiplicative</a> table describes the OpenCL C +programming language built-in functions that perform multiplicative +operations across work items in a work-group. +These functions must be encountered by all work items in a work-group +executing the kernel, otherwise the behavior is undefined. +For the functions below, the generic type name <code>gentype</code> may be one of the +supported built-in scalar data types <code>int</code>, <code>uint</code>, <code>long</code>, <code>ulong</code>, +<code>float</code>, <code>double</code> (if double precision is supported), or <code>half</code> (if half +precision is supported).</p> +</div> +<table id="table-builtin-work-group-multiplicative" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 3. Built-in Work-group Multiplicative Functions</caption> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_reduce_mul( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the multiplication of <em>value</em> for all work items in the + work-group.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_scan_inclusive_mul( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an inclusive scan operation which is the + multiplication of <em>value</em> for all work items in the work-group with a + work-group linear local ID less than or equal to this work item’s + work-group linear local ID.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-opencl_c" data-lang="opencl_c">gentype work_group_scan_exclusive_mul( + gentype value);</code></pre> +</div> +</div></div></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the result of an exclusive scan operation which is the + multiplication of <em>value</em> for all work items in the work-group with a + work-group linear local ID less than this work item’s work-group linear + local ID.</p> +<p class="tableblock"> If there is no work item in the work-group with a work-group linear + local ID less than this work item’s work-group linear local ID then the + identity value <code>1</code> is returned.</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also"><a class="anchor" href="#_see_also"></a>See Also</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="workGroupFunctions.html">workGroupFunctions</a></p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_document_notes"><a class="anchor" href="#_document_notes"></a>Document Notes</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>For more information, see the <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#work-group-collective-uniform-arithmetic-functions" target="_blank" rel="noopener">OpenCL C Specification</a></p> +</div> +<div class="paragraph"> +<p>This page is extracted from the OpenCL C Specification. +Fixes and changes should be made to the Specification, not directly.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> +</div> +<div class="paragraph"> +<p>SPDX-License-Identifier: CC-BY-4.0</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 +</div> +</div> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script> +</body> +</html> \ No newline at end of file
diff --git a/sdk/3.0/docs/man/html/workItemFunctions.html b/sdk/3.0/docs/man/html/workItemFunctions.html index d95493b..bfeeeba 100644 --- a/sdk/3.0/docs/man/html/workItemFunctions.html +++ b/sdk/3.0/docs/man/html/workItemFunctions.html
@@ -786,11 +786,13 @@ <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<tbody> +<thead> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function</strong></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> +</thead> +<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_work_dim</strong>()</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of dimensions in use. @@ -913,8 +915,9 @@ <i class="fa icon-note" title="Note"></i> </td> <td class="content"> -The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> -feature. +The functionality described in the following table <a href="https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#unified-spec" target="_blank" rel="noopener">requires</a> support for +the <code>cl_khr_<wbr>subgroups</code> extension macro; or for +OpenCL C 3.0 or newer and the <code>__opencl_c_<wbr>subgroups</code> feature. </td> </tr> </table> @@ -925,16 +928,16 @@ and identifier of the sub-group within a work-group and work-item within a sub-group when this kernel is being executed on a device.</p> </div> -<table class="tableblock frame-all grid-all stretch"> -<caption class="title">Table 2. Built-in Work-Item Functions for Sub-groups</caption> +<table id="table-subgroup-work-item-functions" class="tableblock frame-all grid-all stretch"> +<caption class="title">Table 2. Built-in Work-Item Functions for Sub-Groups</caption> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <thead> <tr> -<th class="tableblock halign-left valign-top"><strong>Function</strong></th> -<th class="tableblock halign-left valign-top"><strong>Description</strong></th> +<th class="tableblock halign-left valign-top">Function</th> +<th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> @@ -1023,7 +1026,7 @@ <h2 id="_copyright"><a class="anchor" href="#_copyright"></a>Copyright</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Copyright 2014-2023 The Khronos Group Inc.</p> +<p>Copyright 2014-2024 The Khronos Group Inc.</p> </div> <div class="paragraph"> <p>SPDX-License-Identifier: CC-BY-4.0</p> @@ -1039,8 +1042,8 @@ </div> <div id="footer"> <div id="footer-text"> -Version v3.0.15<br> -Last updated 2023-12-14 12:09:08 -0800 +Version v3.0.16<br> +Last updated 2024-04-04 13:33:43 -0700 </div> </div>