Change log for March 7, 2018 Vulkan 1.1.70 spec update:
* Vulkan 1.1 initial release. Bump API patch number and header version
number to 70 for this update. The patch number will be used for both
Vulkan 1.1 and Vulkan 1.0 updates, and continues to increment
continuously from the previous Vulkan 1.0.69 update.
NOTE: We are not publishing an updated 1.0.70 specification, or 1.1
reference pages, along with 1.1.70. There are still minor issues to work
out with those build targets. However, we will soon generate all three
types of documents as part of the regular spec update cycle.
NOTE: The GitHub KhronosGroup/Vulkan-Docs repository now maintains the
current specification in the `master` branch. The `1.0` branch is out of
date and will not be maintained, since we will be generating both 1.1
and 1.0 specifications from the `master` branch in the future.
Github Issues:
* Clarify how mapped memory ranges are flushed in
flink:vkFlushMappedMemoryRanges (public issue 127).
* Specify that <<synchronization-pipeline-stages, Pipeline Stages>> are a
list of tasks that each command performs, rather than necessarily being
discrete pieces of hardware that one task flows through. Add a
"`synchronization command`" pipeline type which all synchronization
command execute (it's just TOP + BOTTOM), with an explanatory note
(public issue 554).
Internal Issues:
* Regenerate all images used in the spec in Inkscape with a consistent
look-and-feel, and adjust image size attributes so they're all legible,
and not too large with respect to the spec body text (internal issue
701).
* Document in the <<extensions,extensions>> appendix and in the style
guide that `KHX` extensions are no longer supported or used in the
Vulkan 1.1 timeframe (internal issue 714).
* Remove the leftover equations_temp directory after PDF build completes
(internal issue 925).
* Update the <<credits, Credits (Informative)>> appendix to include
contributors to Vulkan 1.1, and to list them according to the API
version(s) they contributed to (internal issue 987).
* Add a NOTE to the introduction explaining that interfaces defined by
extensions which were promoted to Vulkan 1.1 are now expressed as
aliases of the Vulkan 1.1 type (internal issue 991).
* Instrument spec source conditionals so spec can be built with 1.1
features, extensions promoted to 1.1, or both (internal issues 992,
998).
* Modify the XML schema and tools to support explicit aliasing of types,
structures, and commands, and use this to express the promotion of 1.0
extensions to 1.1 core features, by making the extension interfaces
aliases of the core features they were promoted to. Mark up promoted
interfaces to allow still generating 1.0 + extension specifications
(internal issue 991).
* Platform names, along with corresponding preprocessor symbols to enable
extensions specific to those platforms, are now reserved in vk.xml using
the <platform> tag. Update the registry schema and schema specification
to match (internal issue 1011).
* Updated the <<textures-texel-replacement, Texel Replacement>> section to
clarify that reads from invalid texels for image resources result in
undefined values (internal issue 1014).
* Modify description of patch version so it continues to increment across
minor version changes (internal issue 1033).
* Clarify and unify language describing physical device-level core and
extension functionality in the <<fundamentals-validusage-extensions,
Valid Usage for Extensions>>, <<fundamentals-validusage-versions, Valid
Usage for Newer Core Versions>>, <<initialization-functionpointers
Command Function Pointers>>, <<initialization-phys-dev-extensions,
Extending Physical Device From Device Extensions>>
<<extended-functionality-instance-extensions-and-devices, Instance
Extensions and Device Extensions>> sections and for
flink:vkGetPhysicalDeviceImageFormatProperties2. This documents that
instance-level functionality is tied to the loader, and independent of
the ICD; physical device-level functionality is tied to the ICD, and
associated with device extensions; physical devices are treated more
uniformly between core and extensions; and instance and physical
versions can be different (internal issue 1048).
* Updated the <<commandbuffers-lifecycle, Command Buffer Lifecycle>>
section to clarify the ability for pending command buffers to transition
to the invalid state after submission, and add a command buffer
lifecycle diagram (internal issue 1050).
* Clarify that some flink:VkDescriptorUpdateTemplateCreateInfo parameters
are ignored when push descriptors are not supported (internal issue
1054).
* Specify that flink:vkCreateImage will return an error if the image is
too large, in a NOTE in the slink:VkImageFormatProperties description
(internal issue 1078).
* Remove near-duplicate NOTEs about when to query function pointers
dynamically in the <<initialization, Initialization>> chapter and
replace by extending the NOTE in the <<fundamentals-abi, Application
Binary Interface>> section (internal issue 1085).
* Restore missing references to "`Sparse Resource Features`" in the
flink:VkBufferCreateFlagBits description (internal issue 1086).
* Tidy up definitions of descriptor types in the `GL_KHR_vulkan_glsl`
specification, the <<descriptorsets, Resource Descriptors>> section and
its subsections, and the <<interfaces-resources-descset, Descriptor Set
Interface>> for consistency, reduction of duplicate information, and
removal of GLSL correspondance/examples (internal issue 1090).
* Correctly describe code:PrimitiveId as an Input for tessellation control
and evaluation shaders, not an Output (internal issue 1109).
* Relax the requirements on chroma offsets for nearest filtering in
<<textures-implict-reconstruction, Implicit Reconstruction>> (internal
issue 1116).
Other Issues:
* Clarify the intended relationship between specification language and
certain terms defined in the Khronos Intellectual Property Rights
policy. Specific changes include:
** Rewrote IP/Copyright preamble and introduction to better agree with
normative language both as laid out in the introduction, and the
Khronos IPR policy.
** Added notion of fully informative sections, which are now tagged with
"`(Informative)`" in their titles.
** Removed non-normative uses of the phrase "`not required`"
** Clarified the distinction between terms "`optional`" and "`not
required:`" as they relate to the IPR Policy, and updated specification
text to use terms consistent with the intent.
** Reduced additions to RFC 2119, and ensured the specification agreed
with the leaner language.
** Removed the terms "`hardware`", "`software`", "`CPU`", and "`GPU`" from
normative text.
** Moved several paragraphs that should not have been normative to
informative notes.
** Clarified a number of definitions in the Glossary.
** Updated the document writing guide to match new terminology changes.
* Explicitly state in the <<fundamentals-objectmodel-lifetime-acquire,
application memory lifetime>> language that that for objects other than
descriptor sets, a slink:VkDescriptorSetLayout object used in the
creation of another object (such as slink:VkPipelineLayout or
slink:VkDescriptorUpdateTemplateKHR) is only in use during the creation
of that object and can be safely destroyed afterwards.
* Updated the <<textures-scale-factor, Scale Factor Operation>> section to
use the ratio of anisotropy, rather than the integer sample rate, to
perform the LOD calculation. The spec still allows use of the sample
rate as the value used to calculate the LOD, but no longer requires it.
* Update `vulkan_ext.c` to include all platform-related definitions from
the Vulkan platform headers, following the split of the headers into
platform-specific and non-platform-specific files.
* Fix bogus anchor name in the <<commandbuffers, Command Buffers>> chapter
which accidentally duplicated an anchor in the pipelines chapter. There
were no reference to this anchor, fortunately.
* Add valid usage statement for slink:VkWriteDescriptorSet and
slink:VkCopyDescriptorSet requiring that the slink:VkDescriptorSetLayout
used to allocate the source and destination sets must not have been
destroyed at the time flink:vkUpdateDescriptorSets is called.
* Document mapping of subgroup barrier functions to SPIR-V, and clarify a
place where subgroupBarrier sounds like it's execution-only in the
standalone `GL_KHR_shader_subgroup` specification.
* Use an HTML stylesheet derived from the Asciidoctor `colony` theme, with
the default Arial font family replaced by the sans-serif Noto font
family.
* Numerous minor updates to README.adoc, build scripts, Makefiles, and
registry and style guide specifications to support Vulkan 1.1 outputs,
use them as defaults, and remove mention of `KHX` extensions, which are
no longer supported.
New Extensions:
* `VK_EXT_vertex_attrib_divisor`
2018-03-07 04:18:52 -08:00
/*! 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 : 2 em ; margin : 0.67 em 0 ; }
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
abbr [ title ] { border-bottom : 1 px 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 : 1 em ; }
/** 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.5 em ; }
sub { bottom : -0.25 em ; }
/* ========================================================================== 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 : 1 px solid #c0c0c0 ; margin : 0 2 px ; padding : 0.35 em 0.625 em 0.75 em ; }
/** 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 : 768 px ; }
meta . foundation-mq-medium { font-family : "only screen and (min-width:1280px)" ; width : 1280 px ; }
meta . foundation-mq-large { font-family : "only screen and (min-width:1440px)" ; width : 1440 px ; }
* , * : 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 : 50 px ; }
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.21875 em ; 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.2 em ; margin-bottom : 0.5 em ; }
/* 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 : 1 em ; line-height : 1.6 ; margin-bottom : 0.75 em ; text-rendering : optimizeLegibility ; }
p aside { font-size : 0.875 em ; 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.5 em ; margin-bottom : 0.5 em ; line-height : 1.2125 em ; }
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.125 em ; }
h2 { font-size : 1.6875 em ; }
h3 , # toctitle , . sidebarblock > . content > . title { font-size : 1.375 em ; }
h4 { font-size : 1.125 em ; }
h5 { font-size : 1.125 em ; }
h6 { font-size : 1 em ; }
hr { border : solid #ddd ; border-width : 1 px 0 0 ; clear : both ; margin : 1.25 em 0 1.1875 em ; 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 : 1 em ; line-height : 1.6 ; margin-bottom : 0.75 em ; list-style-position : outside ; font-family : Noto , sans-serif ; }
ul , ol { margin-left : 1.5 em ; }
ul . no-bullet , ol . no-bullet { margin-left : 1.5 em ; }
/* Unordered Lists */
ul li ul , ul li ol { margin-left : 1.25 em ; margin-bottom : 0 ; font-size : 1 em ; /* 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.25 em ; margin-bottom : 0 ; }
/* Definition Lists */
dl dt { margin-bottom : 0.3 em ; font-weight : bold ; }
dl dd { margin-bottom : 0.75 em ; }
/* Abbreviations */
abbr , acronym { text-transform : uppercase ; font-size : 90 % ; color : black ; border-bottom : 1 px dotted #ddd ; cursor : help ; }
abbr { text-transform : none ; }
/* Blockquotes */
blockquote { margin : 0 0 0.75 em ; padding : 0.5625 em 1.25 em 0 1.1875 em ; border-left : 1 px solid #ddd ; }
blockquote cite { display : block ; font-size : 0.8125 em ; color : #5e93b8 ; }
blockquote cite : before { content : "\2014 \0020" ; }
blockquote cite a , blockquote cite a : visited { color : #5e93b8 ; }
blockquote , blockquote p { line-height : 1.6 ; color : #333 ; }
/* Microformats */
. vcard { display : inline-block ; margin : 0 0 1.25 em 0 ; border : 1 px solid #ddd ; padding : 0.625 em 0.75 em ; }
. vcard li { margin : 0 ; display : block ; }
. vcard . fn { font-weight : bold ; font-size : 0.9375 em ; }
. vevent . summary { font-weight : bold ; }
. vevent abbr { cursor : auto ; text-decoration : none ; font-weight : bold ; border : none ; padding : 0 0.0625 em ; }
@ 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.75 em ; }
h2 { font-size : 2.3125 em ; }
h3 , # toctitle , . sidebarblock > . content > . title { font-size : 1.6875 em ; }
h4 { font-size : 1.4375 em ; } }
/* Tables */
table { background : #fff ; margin-bottom : 1.25 em ; border : solid 1 px #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.5 em 0.625 em 0.625 em ; font-size : inherit ; color : #222 ; text-align : left ; }
table tr th , table tr td { padding : 0.5625 em 0.625 em ; 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.65 em ; line-height : 1.45 ; background-color : #f7f7f7 ; border : 1 px solid #ccc ; -webkit- border-radius : 3 px ; border-radius : 3 px ; -moz- box-shadow : 0 1 px 0 rgba ( 0 , 0 , 0 , 0.2 ) , 0 0 0 0.1 em white inset ; -webkit- box-shadow : 0 1 px 0 rgba ( 0 , 0 , 0 , 0.2 ) , 0 0 0 0.1 em white inset ; box-shadow : 0 1 px 0 rgba ( 0 , 0 , 0 , 0.2 ) , 0 0 0 0.1 em white inset ; margin : 0 0.15 em ; padding : 0.2 em 0.5 em ; vertical-align : middle ; position : relative ; top : -0.1 em ; 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.02 em ; }
. menuseq b . caret { font-size : 1.25 em ; line-height : 0.8 ; }
. menuseq i . caret { font-weight : bold ; text-align : center ; width : 0.45 em ; }
b . button : before , b . button : after { position : relative ; top : -1 px ; font-weight : normal ; }
b . button : before { content : "[" ; padding : 0 3 px 0 2 px ; }
b . button : after { content : "]" ; padding : 0 2 px 0 3 px ; }
# header , # content , # footnotes , # footer { width : 100 % ; margin-left : auto ; margin-right : auto ; margin-top : 0 ; margin-bottom : 0 ; max-width : 62.5 em ; * zoom : 1 ; position : relative ; padding-left : 1.5 em ; padding-right : 1.5 em ; }
# 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.25 em ; }
# content : before { content : none ; }
# header > h1 : first-child { color : black ; margin-top : 2.25 rem ; margin-bottom : 0 ; }
# header > h1 : first-child + # toc { margin-top : 8 px ; border-top : 1 px solid #ddd ; }
# header > h1 : only-child , body . toc2 # header > h1 : nth-last-child ( 2 ) { border-bottom : 1 px solid #ddd ; padding-bottom : 8 px ; }
# header . details { border-bottom : 1 px solid #ddd ; line-height : 1.45 ; padding-top : 0.25 em ; padding-bottom : 0.25 em ; padding-left : 0.25 em ; color : #5e93b8 ; 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.125 em ; }
# 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 : 1 px solid #ddd ; padding-bottom : 8 px ; margin-top : 0 ; padding-top : 1 rem ; margin-bottom : 1.25 rem ; }
# toc { border-bottom : 0 solid #ddd ; padding-bottom : 0.5 em ; }
# toc > ul { margin-left : 0.125 em ; }
# toc ul . sectlevel0 > li > a { font-style : italic ; }
# toc ul . sectlevel0 ul . sectlevel1 { margin : 0.5 em 0 ; }
# toc ul { font-family : Noto , sans-serif ; list-style-type : none ; }
# toc li { line-height : 1.3334 ; margin-top : 0.3334 em ; }
# toc a { text-decoration : none ; }
# toc a : active { text-decoration : underline ; }
# toctitle { color : black ; font-size : 1.2 em ; }
@ media only screen and ( min-width : 768px ) { # toctitle { font-size : 1.375 em ; }
body . toc2 { padding-left : 15 em ; padding-right : 0 ; }
# toc . toc2 { margin-top : 0 !important ; background-color : #fff ; position : fixed ; width : 15 em ; left : 0 ; top : 0 ; border-right : 1 px solid #ddd ; border-top-width : 0 !important ; border-bottom-width : 0 !important ; z-index : 1000 ; padding : 1.25 em 1 em ; height : 100 % ; overflow : auto ; }
# toc . toc2 # toctitle { margin-top : 0 ; margin-bottom : 0.8 rem ; font-size : 1.2 em ; }
# toc . toc2 > ul { font-size : 0.9 em ; margin-bottom : 0 ; }
# toc . toc2 ul ul { margin-left : 0 ; padding-left : 1 em ; }
# toc . toc2 ul . sectlevel0 ul . sectlevel1 { padding-left : 0 ; margin-top : 0.5 em ; margin-bottom : 0.5 em ; }
body . toc2 . toc-right { padding-left : 0 ; padding-right : 15 em ; }
body . toc2 . toc-right # toc . toc2 { border-right-width : 0 ; border-left : 1 px solid #ddd ; left : auto ; right : 0 ; } }
@ media only screen and ( min-width : 1280px ) { body . toc2 { padding-left : 20 em ; padding-right : 0 ; }
# toc . toc2 { width : 20 em ; }
# toc . toc2 # toctitle { font-size : 1.375 em ; }
# toc . toc2 > ul { font-size : 0.95 em ; }
# toc . toc2 ul ul { padding-left : 1.25 em ; }
body . toc2 . toc-right { padding-left : 0 ; padding-right : 20 em ; } }
# content # toc { border-style : solid ; border-width : 1 px ; border-color : #e6e6e6 ; margin-bottom : 1.25 em ; padding : 1.25 em ; 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-color : none ; padding : 1.25 em ; }
# footer-text { color : black ; line-height : 1.44 ; }
# content { margin-bottom : 0.625 em ; }
. sect1 { padding-bottom : 0.625 em ; }
@ media only screen and ( min-width : 768px ) { # content { margin-bottom : 1.25 em ; }
. sect1 { padding-bottom : 1.25 em ; } }
. 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.5 ex ; margin-left : -1.5 ex ; 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.85 em ; display : block ; padding-top : 0.1 em ; }
# 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.25 em ; }
. 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 : 80 px ; }
. 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.125 em ; padding-right : 1.25 em ; border-left : 1 px solid #ddd ; color : #5e93b8 ; }
. admonitionblock > table td . content > : last-child > : last-child { margin-bottom : 0 ; }
. exampleblock > . content { border-style : solid ; border-width : 1 px ; border-color : #e6e6e6 ; margin-bottom : 1.25 em ; padding : 1.25 em ; 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 : 1 px ; border-color : #e6e6e6 ; margin-bottom : 1.25 em ; padding : 1.25 em ; 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 : 1 px hidden #666 ; -webkit- border-radius : 0 ; border-radius : 0 ; word-wrap : break-word ; padding : 1.25 em 1.5625 em 1.125 em 1.5625 em ; font-size : 0.8125 em ; }
. 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.90625 em ; } }
@ media only screen and ( min-width : 1280px ) { . literalblock pre , . literalblock pre [ class ] , . listingblock pre , . listingblock pre [ class ] { font-size : 1 em ; } }
. literalblock . output pre { color : #eee ; background-color : #264357 ; }
. listingblock pre . highlightjs { padding : 0 ; }
. listingblock pre . highlightjs > code { padding : 1.25 em 1.5625 em 1.125 em 1.5625 em ; -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.75 em ; top : 0.425 rem ; right : 0.5 rem ; 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.5 em ; 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 : .75 em ; padding-right : 0 ; }
pre . pygments . lineno , table . pyhltable td : not ( . code ) { color : #999 ; padding-left : 0 ; padding-right : .5 em ; border-right : 1 px solid #ddd ; }
pre . pygments . lineno { display : inline-block ; margin-right : .25 em ; }
table . pyhltable . linenodiv { background : none !important ; padding-right : 0 !important ; }
. quoteblock { margin : 0 1 em 0.75 em 1.5 em ; display : table ; }
. quoteblock > . title { margin-left : -1.5 em ; margin-bottom : 0.75 em ; }
. quoteblock blockquote , . quoteblock blockquote p { color : #333 ; font-size : 1.15 rem ; line-height : 1.75 ; word-spacing : 0.1 em ; 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.75 em ; font-weight : bold ; line-height : 0.6 em ; margin-left : -0.6 em ; color : black ; text-shadow : 0 1 px 2 px rgba ( 0 , 0 , 0 , 0.1 ) ; }
. quoteblock blockquote > . paragraph : last-child p { margin-bottom : 0 ; }
. quoteblock . attribution { margin-top : 0.5 em ; margin-right : 0.5 ex ; text-align : right ; }
. quoteblock . quoteblock { margin-left : 0 ; margin-right : 0 ; padding : 0.5 em 0 ; border-left : 3 px solid #5e93b8 ; }
. quoteblock . quoteblock blockquote { padding : 0 0 0 0.75 em ; }
. quoteblock . quoteblock blockquote : before { display : none ; }
. verseblock { margin : 0 1 em 0.75 em 1 em ; }
. verseblock pre { font-family : "Open Sans" , "DejaVu Sans" , sans ; font-size : 1.15 rem ; color : #333 ; font-weight : 300 ; text-rendering : optimizeLegibility ; }
. verseblock pre strong { font-weight : 400 ; }
. verseblock . attribution { margin-top : 1.25 rem ; margin-left : 0.5 ex ; }
. quoteblock . attribution , . verseblock . attribution { font-size : 0.8125 em ; 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.025 em ; color : #5e93b8 ; }
. quoteblock . abstract { margin : 0 0 0.75 em 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 1 px 1 px 0 ; }
table . grid-all > tfoot > tr > . tableblock { border-width : 1 px 1 px 0 0 ; }
table . grid-cols > * > tr > . tableblock { border-width : 0 1 px 0 0 ; }
table . grid-rows > thead > tr > . tableblock , table . grid-rows > tbody > tr > . tableblock { border-width : 0 0 1 px 0 ; }
table . grid-rows > tfoot > tr > . tableblock { border-width : 1 px 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 : 1 px ; }
table . frame-sides { border-width : 0 1 px ; }
table . frame-topbot { border-width : 1 px 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 : 1 em ; }
td > div . verse { white-space : pre ; }
ol { margin-left : 1.75 em ; }
ul li ol { margin-left : 1.5 em ; }
dl dd { margin-left : 1.125 em ; }
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.375 em ; }
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.625 em ; }
ul . unstyled , ol . unstyled { margin-left : 0 ; }
ul . checklist { margin-left : 0.625 em ; }
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.25 em ; font-size : 0.8 em ; position : relative ; bottom : 0.125 em ; }
ul . checklist li > p : first-child > input [ type = "checkbox" ] : first-child { margin-right : 0.25 em ; }
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.375 em -0.75 em ; }
ul . inline > li { margin-left : 0.75 em ; }
. 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.625 em ; }
td . hdlist1 { font-weight : bold ; padding-bottom : 0.75 em ; }
. literalblock + . colist , . listingblock + . colist { margin-top : -0.5 em ; }
. colist > table tr > td : first-of-type { padding : 0.4 em 0.75 em 0 0.75 em ; 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.25 em 0 ; }
. thumb , . th { line-height : 0 ; display : inline-block ; border : solid 4 px #fff ; -webkit- box-shadow : 0 0 0 1 px #ddd ; box-shadow : 0 0 0 1 px #ddd ; }
. imageblock . left , . imageblock [ style * = "float: left" ] { margin : 0.25 em 0.625 em 1.25 em 0 ; }
. imageblock . right , . imageblock [ style * = "float: right" ] { margin : 0.25 em 0 1.25 em 0.625 em ; }
. imageblock > . title { margin-bottom : 0 ; }
. imageblock . thumb , . imageblock . th { border-width : 6 px ; }
. imageblock . thumb > . title , . imageblock . th > . title { padding : 0 0.125 em ; }
. image . left , . image . right { margin-top : 0.25 em ; margin-bottom : 0.25 em ; display : inline-block ; line-height : 0 ; }
. image . left { margin-right : 0.625 em ; }
. image . right { margin-left : 0.625 em ; }
a . image { text-decoration : none ; display : inline-block ; }
a . image object { pointer-events : none ; }
sup . footnote , sup . footnoteref { font-size : 0.875 em ; 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.75 em ; padding-bottom : 0.75 em ; margin-bottom : 0.625 em ; }
# footnotes hr { width : 20 % ; min-width : 6.25 em ; margin : -0.25 em 0 0.75 em 0 ; border-width : 1 px 0 0 0 ; }
# footnotes . footnote { padding : 0 0.375 em 0 0.225 em ; line-height : 1.3334 ; font-size : 0.875 em ; margin-left : 1.2 em ; margin-bottom : 0.2 em ; }
# footnotes . footnote a : first-of-type { font-weight : bold ; text-decoration : none ; margin-left : -1.05 em ; }
# footnotes . footnote : last-of-type { margin-bottom : 0 ; }
# content # footnotes { margin-top : -0.625 em ; margin-bottom : 0 ; padding : 0.75 em 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.5 em ; text-shadow : 1 px 1 px 2 px 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 : 1 px 1 px 2 px 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 : 100 px ; border-radius : 100 px ; text-align : center ; font-size : 0.75 em ; width : 1.67 em ; height : 1.67 em ; line-height : 1.67 em ; 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.125 em ; }
b . conum * { color : inherit !important ; }
. conum : not ( [ data-value ] ) : empty { display : none ; }
h1 , h2 , h3 , # toctitle , . sidebarblock > . content > . title , h4 , h5 , h6 { border-bottom : 1 px solid #ddd ; }
. sect1 { padding-bottom : 0 ; }
# toctitle { color : #00406F ; font-weight : normal ; margin-top : 1.5 em ; }
. sidebarblock { border-color : #aaa ; }
code { -webkit- border-radius : 4 px ; border-radius : 4 px ; }
p . tableblock . header { color : #6d6e71 ; }
. literalblock pre , . listingblock pre { background : #eee ; }
Change log for February 3, 2019 Vulkan 1.1.99 spec update:
* Update release number to 99.
Public Issues:
* Add missing pname:pMemoryHostPointerProperties description to
flink:vkGetMemoryHostPointerPropertiesEXT.txt (public pull request 896).
* Minor markup fixes (public pull request 900).
* Minor update to `khronos.css` and markup fixes (originally proposed in
public pull request 901, but done via an internal MR).
Internal Issues:
* Document restrictions on image queries for Y'CbCr formats in the
<<features-formats-requiring-sampler-ycbcr-conversion>> table as well as
for slink:sname:VkImageFormatProperties and slink:VkImageCreateInfo
(internal issue 1361).
* Correct type of the code:FragSizeEXT built-in in the
<<interfaces-builtin-variables, Built-In Variables>> section (internal
issue 1526).
* Clean up math in the <<textures, Image Operations>> chapter by
refactoring, using better naming conventions, updating diagrams to use
the correct orientation, etc. (internal merge request 2968).
* Fix minor typos for slink:VkImageCreateInfo and
slink:VkImageStencilUsageCreateInfoEXT.
* Add missing documentation for tlink:VkResolveModeFlagsKHR.
* Fix extension dependency of pname:scalarBlockLayout in the
<<features-features-requirements, Feature Requirements>> section.
* Fix indexing math for shader binding table calculations in the
<<shader-binding-table-indexing-rules, Indexing Rules>> section, and use
spelling "`any-hit`" consistently.
* Reconcile valid usage statement and text for sampled image layouts in
slink:VkWriteDescriptorSet
(https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/551).
* Make SPIR-V code:OpConvertUToPtr and code:OpConvertPtrToU operations
require a 64-bit integer for physical storage buffer pointers in the
<<spirvenv-module-validation, Validation Rules within a Module>>
section.
* Update to KaTeX 10.0.
New Extensions:
* `VK_EXT_filter_cubic`
* `VK_NV_dedicated_allocation_image_aliasing`
2019-02-04 01:26:23 -08:00
/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */
a code { color : inherit ; }