RGB LED Matrix Demos Updated for Raspberry Pi 4
0 Members and 1 Guest are viewing this topic.
Change log for November 1, 2020 Vulkan 1.2.159 spec update: * Update release number to 159 for this update.Github Issues: * Clarify handle uniqueness with private data in the <<fundamentals-objectmodel-overview, Object Model>> section (public issue 1349). * Make ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR an alias of ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR and ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR an alias of ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, for backwards compatibility while complying with naming conventions (public issue 1367). * Make ename:VK_SURFACE_COUNTER_VBLANK_EXT an alias of ename:VK_SURFACE_COUNTER_VBLANK_BIT_EXT for backwards compatibility while complying with naming conventions (public issue 1368). * Add a note to the <<memory-model-synchronizes-with, Synchronizes-With>> section that fragment shader interlock instructions don't perform implicit availability or visibility operations (public issue 1383).Internal Issues: * Dynamically generate SPIR-V <<spirvenv-capabilities-table, Capabilities>> and <<spirvenv-extensions-table, Extensions>> tables from new tags in `vk.xml`, exposing this information for other projects downstream (internal issue 2156). * Clarify when a <<renderpass-feedbackloop, feedback loop>> creates a data race (internal issue 2296). * Remove un-needed `noautovalidity` attributes on pname:pNext structure members, including a few cases where they were actually suppressing appropriate autogenerated validity statements (internal issue 2335; similar purpose to closed public PR 1339). * Clarify treatment of most-negative signed normalized fixed-point values in the <<fundamentals-fixedfpconv, Conversion from Normalized Fixed-Point to Floating-Point>> section (internal issue 2367). * Clarify that enabling an extension cannot change existing implementation behavior in the introduction to the <<extendingvulkan-extensions, Extensions>> chapter (internal issue 2375). * Add missing valid usage statement to flink:vkCreatePrivateDataSlotEXT (internal issue 2379). * Fix a misplaced asciidoctor `endif::` for flink:vkCreateSwapchainKHR (internal merge request 4177). * Add missing pname:aspectMask valid usage statement to slink:VkSubpassDescription2, matching slink:VkInputAttachmentAspectReference (internal merge request 4177). * Clarify <<interfaces, SPIR-V rules on decorations>> (internal spirv/SPIR-V issue 444). * Add missing `<<VK_VERSION_1_2>>` to all `<<VK_EXT_separate_stencil_usage>>` conditional markup (internal vulkansc/vulkansc issue 58).New Extensions: * `<<VK_QCOM_rotated_copy_commands>>` (internal merge request 4132).
Change log for November 9, 2020 Vulkan 1.2.160 spec update: * Update release number to 160 for this update.Github Issues: * Remove redundant input attachment valid usage statements from slink:VkAttachmentReference2 (public issue 1378).Internal Issues: * Restore "`Preamble`" section containing the copyright statement to the proper place in the chunked specification index (internal issue 2384). * Add missing valid usage statements for flink:vkCmdDrawIndirectByteCountEXT (internal issue 2400). * Move vertex input example from the <<fxvertex>> chapter to the Vulkan Guide (internal merge request 4162). * Clarify update-after-bind limits for dynamic buffers in the <<limits-maxDescriptorSetUpdateAfterBindUniformBuffersDynamic>> and <<limits-maxDescriptorSetUpdateAfterBindStorageBuffersDynamic>> sections (internal merge request 4186). * Clarify slink:VkFramebufferCreateInfo to allow read-only use of depth images as attachments and non-attachments (internal merge request 4191). * Remove redundant valid usage statement from slink:VkWriteDescriptorSet (internal merge request 4196). * Remove redundant valid usage statement from flink:vkFreeDescriptorSets (internal merge request 4198). * Fix typo in slink:VkDisplaySurfaceCreateInfoKHR valid usage statement (internal merge request 4199). * Remove redundant pname:firstViewport / pname:firstScissor limit checks in valid usage statements for flink:vkCmdSetViewportWScalingNV, flink:vkCmdSetScissor, flink:vkCmdSetExclusiveScissorNV, flink:vkCmdSetViewportShadingRatePaletteNV, and flink:vkCmdSetViewport (internal merge request 4200).New Extensions: * `<<VK_NV_fragment_shading_rate_enums>>`
This extension builds on the fragment shading rate functionality provided bythe VK_KHR_fragment_shading_rate extension, adding support for "supersample"fragment shading rates that trigger multiple fragment shader invocations perpixel as well as a "no invocations" shading rate that discards any portionsof a primitive that would use that shading rate.
Change log for November 16, 2020 Vulkan 1.2.161 spec update: * Update release number to 161 for this update.Github Issues: * Add some missing types to the table of handle type <-> etext:VK_OBJECT_TYPE_* enums in the debugging chapter (in response to a comment on public issue 1379).Internal Issues: * Move copyright statement into its own "`Preamble`" chapter to simplify preprocessing for chunked HTML target and make PDF / single-page HTML consistent with the chunked output (internal issue 2384). * Clarify that slink:VkExternalMemoryBufferCreateInfo::pname:handleTypes and slink:VkExternalMemoryImageCreateInfo::pname:handleTypes can be zero, and fix missing `optional` attribute in `vk.xml` for the latter case (internal issue 2388). * Make `specialuse` attributes in source markup expand properly in extension refpages (internal issue 2412). * Remove as yet unused slink:VkSemaphoreCreateFlagBits type from `vk.xml` (internal issue 2413). * Remove unreachable valid usage statements for slink:VkRenderPassMultiviewCreateInfo::pname:pViewMask in the slink:VkRenderPassCreateInfo pname:pNext chain, and for slink:VkRenderPassCreateInfo2::pname:viewMask. These statements cannot ever be violated given that view masks cannot exceed index 31 and pname:maxFramebufferLayers exceeds this value (internal merge request 4204). * Only allow forward pointers for physical storage buffers in the <<spirvenv-module-validation>> section (internal merge request 4206). * Fix a variety of minor valid usage statement issues with the `<<VK_KHR_fragment_shading_rate>>` extension (internal merge request 4207).
Change log for November 23, 2020 Vulkan 1.2.162 spec update: * Update release number to 162 for this update.Github Issues: * Mark pname:pNext pointers as `optional="true"` in `vk.xml` (public pull request 1396). * Make a formerly implicit slink:VkSubpassDescriptionDepthStencilResolve valid usage statement explicit (public Vulkan-ValidationLayers issue 2311).Internal Issues: * Clarify lifetime of push constants in the flink:vkCmdPushConstants description (internal issue 2168). * Clarify that flink:vkGetDeviceProcAddr is not intended to return physical device-level commands (internal issue 2344). * Tweak CI test for SPEC_VERSION to always succeed when the branch name exists, but the extension is disabled (internal merge request 4219).New Extensions: * Add final (non-provisional) versions of the Vulkan Ray Tracing extensions (internal merge request 4143): ** `<<VK_KHR_acceleration_structure>>` ** `<<VK_KHR_ray_tracing_pipeline>>` ** `<<VK_KHR_ray_query>>` ** `<<VK_KHR_pipeline_library>>` ** `<<VK_KHR_deferred_host_operations>>`
In order to be efficient, rendering techniques such as ray tracing need aquick way to identify which primitives may be intersected by a raytraversing the geometries.Acceleration structures are the most common way to represent the geometryspatially sorted, in order to quickly identify such potential intersections.
Rasterization has been the dominant method to produce interactive graphics,but increasing performance of graphics hardware has made ray tracing aviable option for interactive rendering.Being able to integrate ray tracing with traditional rasterization makes iteasier for applications to incrementally add ray traced effects to existingapplications or to do hybrid approaches with rasterization for primaryvisibility and ray tracing for secondary queries.To enable ray tracing, this extension adds a few different categories of newfunctionality: * A new ray tracing pipeline type with new shader domains: ray generation, intersection, any-hit, closest hit, miss, and callable * A shader binding indirection table to link shader groups with acceleration structure items * Trace ray commands which initiates the ray pipeline traversal and invocation of the various new shader domains depending on which traversal conditions are met
Rasterization has been the dominant method to produce interactive graphics,but increasing performance of graphics hardware has made ray tracing aviable option for interactive rendering.Being able to integrate ray tracing with traditional rasterization makes iteasier for applications to incrementally add ray traced effects to existingapplications or to do hybrid approaches with rasterization for primaryvisibility and ray tracing for secondary queries.Ray queries are available to all shader types, including graphics, computeand ray tracing pipelines.Ray queries are not able to launch additional shaders, instead returningtraversal results to the calling shader.
A pipeline library is a special pipeline that cannot be bound, instead itdefines a set of shaders and shader groups which can be linked into otherpipelines.This extension defines the infrastructure for pipeline libraries, but doesnot specify the creation or usage of pipeline libraries.This is left to additional dependent extensions.
The VK_KHR_deferred_host_operations extension defines the infrastructureand usage patterns for deferrable commands, but does not specify anycommands as deferrable.
Change log for November 30, 2020 Vulkan 1.2.163 spec update: * Update release number to 163 for this update.Github Issues: * Add XML mapping between VK_OBJECT_TYPE_* names and object type names (public issue 1379). * Remove *_READ_BIT from .srcAccessMask in code samples (public issue 1389). * Fix example code for slink:VkPushConstantRange to take elink:VkShaderStageFlags, not elink:VkPipelineStageFlags (public pull request 1393). * Add missing :refpage: attribute to slink:VkBlitImageInfo2KHR (public issue 1407). * Remove extraneous newline from texel block size table (public issue 1409).Internal Issues: * Update style guide to require `optional="true"` be set on pname:pNext structure members (internal issue 2428). * Sort conditionals in ifdef:: output of spirvcapgenerator for stability (internal issue 2430). * Fix slink:VkGraphicsPipelineShaderGroupsCreateInfoNV VU 02886 (internal merge request 4225).
Change log for December 7, 2020 Vulkan 1.2.164 spec update: * Update release number to 164 for this update.Github Issues: * Reserve vendor ID for PoCL (public pull request 1411).Internal Issues: * Add valid usage statements to ray tracing commands requiring they be given a ray tracing pipeline, and removing support for ename:ACCELERATION_STRUCTURE_TYPE_GENERIC in flink:vkCmdBuildAccelerationStructureNV (internal issue 2271). * Add valid usage statements disallowing the use of protected command buffers with Ray Tracing Pipelines and Ray Query instructions (internal issue 2409). * Move the un-numbered glossary / abbreviations / prefixes pseudo-chapters into a single appendix, so the table of contents looks cleaner (internal issue 2437). * Remove redundant valid usage statement from slink:VkCommandBufferAllocateInfo (internal merge request 4229). * Add missing <<features-inlineUniformBlock>> valid usage statement to slink:VkDescriptorSetLayoutBinding (internal merge request 4246). * Tweak example of Docker image invocation in `BUILD.adoc` (internal merge request 4249). * Capitalize code:LaunchIdKHR the same as in SPIR-V. code:LaunchSizeKHR and code:LaunchIdKHR are accessible in the code:CallableKHR shader stage (internal merge request 4252). * Remove unreachable (redundant) valid usage statements from flink:vkCmdBeginRenderPass and flink:vkCmdBeginRenderPass2 (internal merge request 4254). * Add missing `objtypeenum` attribute to `vk.xml` for slink:VkInstance (internal merge request 4263). * Change the chunked HTML target to use a more robust method of inserting additional Javascript and HTML to support the searchbox.New Extensions: * `<<VK_NV_acquire_winrt_display>>` * `<<VK_VALVE_mutable_descriptor_type>>`
This extension allows an application to take exclusive control of a displayon Windows 10 provided that the display is not already controlled by acompositor.When control is acquired the application has exclusive access to the displayuntil control is released or the application terminates.An application's attempt to acquire is denied if a different application hasalready acquired the display.
This extension allows applications to reduce descriptor memory footprint byallowing a descriptor to be able to mutate to a given list of descriptortypes depending on which descriptor types are written into, or copied into adescriptor set.
Change log for December 14, 2020 Vulkan 1.2.165 spec update: * Update release number to 165 for this update.Github Issues: * Fix interaction between imageless framebuffers and slink:VkImageViewUsageCreateInfo for slink:VkRenderPassBeginInfo, elink:VkImageUsageFlagBits, and in the <<resources-image-inherited-usage>> section (public issue 1391). * Fix `vk.xml` `optional` / `noautovalidity` attributes and corresponding explicit valid usage statements for slink:VkBuildAccelerationStructureModeKHR (public issue 1405). * Remove redundant / incomplete handle comments from `vk.xml` for elink:VkObjectType enumerants (public merge request 1412).Internal Issues: * Create valid usage statements from constraints in the <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> section (internal issue 2394). * Fix valid usage staement 01256 for slink:VkDisplaySurfaceCreateInfoKHR (internal issue 2404). * Expand and clarify the event race condition warning for flink:vkCmdWaitEvents to include two additional scenarios in which the effect and/or state of an event becomes undefined without additional synchronization operations (internal issue 2411). * Update valid usage statement for flink:vkSetLocalDimmingAMD (internal issue 2446). * Recast slink:VkStridedDeviceAddressRegionKHR valid usage statements in terms of size being non-zero, instead of pname:deviceAddress (internal issue 2450). * Add missing ename:VK_SHARING_MODE_CONCURRENT valid usage statement for flink:vkQueueSubmit (internal merge request 4244). * Add limits related to local size to the <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> section (internal merge request 4255). * Fix typo in description of slink:VkDescriptorUpdateTemplateEntry::pname:dstArrayElement (internal merge request 4260). * Remove repeated "`all`" from slink:VkGraphicsPipelineCreateInfo valid usage statements (internal merge request 4266). * Fix internal xrefs to the SPIR-V capabilities tables, which broke as a side effect of generating the table instead of handcoding it (internal merge request 4270). * Fix normative language for code:WorkgroupSize (internal merge request 4272). * Restore `len` attribute to `vk.xml` after its recent accidental removal from slink:VkDescriptorSetAllocateInfo::pname:pSetLayouts (internal merge request 4275). * Remove trailing periods from SPIR-V valid usage statements (internal merge request 4284). * Base PDF theme on builtin fallback theme, simplifying it and adding support for some math characters not found in the default theme (internal merge request 4287).
Change log for January 4, 2021 Vulkan 1.2.166 spec update: * Update release number to 166 for this update.Github Issues: * Add an Issue to the appendix for `<<VK_EXT_debug_report>>` discussing how to compare handles returned by the debug report callback to application handles (public issue 368). * Specify the purpose of ename:VK_LOD_CLAMP_NONE in the description of slink:VkSamplerCreateInfo::pname:maxLod (public issue 663). * Clarify in the <<extendingvulkan-extensions-extensiondependencies, Extension Dependencies>> section that extensions may depend on both other extensions, and specific core API versions. Together with previous changes to this section, this should close out the original issue (public issue 865).Internal Issues: * Add descriptions of image queries to the <<textures, Image Operations Overview>> and <<textures-queries, Image Query Instructions>> sections (internal issues 2416 and 2423). * Allow axis swapping to be carried through clamping in the <<primsrast-fragment-shading-rate-combining, Combining the Fragment Shading Rates>> section (internal issue 2420). * Move even-size requirements for planar formats to valid usage statements for slink:VkImageCreateInfo and slink:VkImageViewCreateInfo, and tweak descriptions of <<formats-definition, the corresponding formats>> accordingly (internal issue 2434). * Remove asciidoctor conditional macros from markup for slink:VkSamplerCreateInfo valid usage statement 01079 (internal issue 2440). * Clarify behavior of the <<features-alphaToOne, pname:alphaToOne>> feature by linking the enable to the corresponding <<fragops-covg, Multisample Coverage>> fragment operation language, and specifying in the introduction to the <<fragops, Fragment Operations>> chapter that "`replacing`" a fragment shader output occurs whether or not the shader actually wrote that output (internal issue 2448). * Modify XML for slink:VkPipelineViewportShadingRateImageStateCreateInfoNV::pname:viewportCount to allow pname:viewportCount == 0 (internal issue 2449). * Remove "`built as`" requirement from valid usage statement 03579 for slink:VkWriteDescriptorSetAccelerationStructureKHR (internal issue 2466). * Remove incorrect valid usage statement 03655 for slink:VkAccelerationStructureGeometryTrianglesDataKHR (internal issue 2467). * Add location limits for mesh shaders to the <<interfaces-iointerfaces-limits, Shader Input and Output Locations>> table (internal merge request 3428).