forked from microsoft/DirectXShaderCompiler
-
Notifications
You must be signed in to change notification settings - Fork 0
Last sync before changing SPIR-V codegen logic (inout
changing to copy-in/copy-out)
#4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.4 to 43.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst">cryptography's changelog</a>.</em></p> <blockquote> <p>43.0.1 - 2024-09-03</p> <pre><code> * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.2. <p>.. _v43-0-0:</p> <p>43.0.0 - 2024-07-20<br /> </code></pre></p> <ul> <li><strong>BACKWARDS INCOMPATIBLE:</strong> Support for OpenSSL less than 1.1.1e has been removed. Users on older version of OpenSSL will need to upgrade.</li> <li><strong>BACKWARDS INCOMPATIBLE:</strong> Dropped support for LibreSSL < 3.8.</li> <li>Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.1.</li> <li>Updated the minimum supported Rust version (MSRV) to 1.65.0, from 1.63.0.</li> <li>:func:<code>~cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key</code> now enforces a minimum RSA key size of 1024-bit. Note that 1024-bit is still considered insecure, users should generally use a key size of 2048-bits.</li> <li>:func:<code>~cryptography.hazmat.primitives.serialization.pkcs7.serialize_certificates</code> now emits ASN.1 that more closely follows the recommendations in :rfc:<code>2315</code>.</li> <li>Added new :doc:<code>/hazmat/decrepit/index</code> module which contains outdated and insecure cryptographic primitives. :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.CAST5</code>, :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.SEED</code>, :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.IDEA</code>, and :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.Blowfish</code>, which were deprecated in 37.0.0, have been added to this module. They will be removed from the <code>cipher</code> module in 45.0.0.</li> <li>Moved :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES</code> and :class:<code>~cryptography.hazmat.primitives.ciphers.algorithms.ARC4</code> into :doc:<code>/hazmat/decrepit/index</code> and deprecated them in the <code>cipher</code> module. They will be removed from the <code>cipher</code> module in 48.0.0.</li> <li>Added support for deterministic :class:<code>~cryptography.hazmat.primitives.asymmetric.ec.ECDSA</code> (:rfc:<code>6979</code>)</li> <li>Added support for client certificate verification to the :mod:<code>X.509 path validation <cryptography.x509.verification></code> APIs in the form of :class:<code>~cryptography.x509.verification.ClientVerifier</code>, :class:<code>~cryptography.x509.verification.VerifiedClient</code>, and <code>PolicyBuilder</code> :meth:<code>~cryptography.x509.verification.PolicyBuilder.build_client_verifier</code>.</li> <li>Added Certificate :attr:<code>~cryptography.x509.Certificate.public_key_algorithm_oid</code> and Certificate Signing Request :attr:<code>~cryptography.x509.CertificateSigningRequest.public_key_algorithm_oid</code> to determine the :class:<code>~cryptography.hazmat._oid.PublicKeyAlgorithmOID</code> Object Identifier of the public key found inside the certificate.</li> <li>Added :attr:<code>~cryptography.x509.InvalidityDate.invalidity_date_utc</code>, a timezone-aware alternative to the naïve <code>datetime</code> attribute :attr:<code>~cryptography.x509.InvalidityDate.invalidity_date</code>.</li> <li>Added support for parsing empty DN string in</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pyca/cryptography/commit/a7733878281ca261c4ada04022fc706ba5de9d8b"><code>a773387</code></a> bump for 43.0.1 (<a href="https://redirect.github.com/pyca/cryptography/issues/11533">#11533</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/0393fef5758e55e3c7b3a3e6e5b77821c594a87f"><code>0393fef</code></a> Backport setuptools version ban (<a href="https://redirect.github.com/pyca/cryptography/issues/11526">#11526</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/6687bab97aef31d6ee6cc94ecc87a972137b5d4a"><code>6687bab</code></a> Bump openssl from 0.10.65 to 0.10.66 in /src/rust (<a href="https://redirect.github.com/pyca/cryptography/issues/11320">#11320</a>) (<a href="https://redirect.github.com/pyca/cryptography/issues/11324">#11324</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/ebf14f2edc8536f36797979cb0e075e766d978c5"><code>ebf14f2</code></a> bump for 43.0.0 and update changelog (<a href="https://redirect.github.com/pyca/cryptography/issues/11311">#11311</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/42788a0353e0ca0d922b6b8b9bde77cbb1c65984"><code>42788a0</code></a> Fix exchange with keys that had Q automatically computed (<a href="https://redirect.github.com/pyca/cryptography/issues/11309">#11309</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/2dbdfb8f3913cb9cef08218fcd48a9b4eaa8b57d"><code>2dbdfb8</code></a> don't assign unused name (<a href="https://redirect.github.com/pyca/cryptography/issues/11310">#11310</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/ccc66e6cdf92f4c29012f86f44ad183161eccaad"><code>ccc66e6</code></a> Bump openssl from 0.10.64 to 0.10.65 in /src/rust (<a href="https://redirect.github.com/pyca/cryptography/issues/11308">#11308</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/4310c8727b50fa5f713a0e863ee3defc0c831921"><code>4310c87</code></a> Bump sphinxcontrib-qthelp from 1.0.7 to 1.0.8 (<a href="https://redirect.github.com/pyca/cryptography/issues/11307">#11307</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/f66a9c4b4fe9b87825872fef7a36c319b823f322"><code>f66a9c4</code></a> Bump sphinxcontrib-htmlhelp from 2.0.5 to 2.0.6 (<a href="https://redirect.github.com/pyca/cryptography/issues/11306">#11306</a>)</li> <li><a href="https://github.com/pyca/cryptography/commit/a8fcf18ee0bb0570bd4c9041cf387dc7a9c1968a"><code>a8fcf18</code></a> Bump openssl-sys from 0.9.102 to 0.9.103 in /src/rust (<a href="https://redirect.github.com/pyca/cryptography/issues/11305">#11305</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pyca/cryptography/compare/42.0.4...43.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/DirectXShaderCompiler/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…icrosoft#7048) The simplify instruction pass has a function called `findScalarElement`. This function will possibly recurse infinitely into the first operand of the instruction that it is passed. If this instruction, for example, is `%2 = insertelement <2 x i32> %2, i32 %sub, i32 0` Then the pass will recurse into the first operand of the insertelement instruction, which is the same insertelement instruction, and so on. This PR prevents infinite recursion and stack overflow by bailing out of the function early if there is a detection of the same value in the first operand. Fixes microsoft#7034 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Update version to 1.8.2502
When loading a Float64 from a raw buffer, we used an Int64, which required an additional capability, even if the code wasn't using any Int64. In practice, it seems most devices supporting Float64 do also support Int64, but this it doesn't have to. By changing the codegen a bit, we can avoid the Int64 value. Tested the word-order using a vulkan compute shader, and checking the returned value on the API side. ```hlsl double tmp = buffer.Load<double>(0); if (tmp == 12.0) buffer.Store<double>(0, 13.0); ``` Fixes microsoft#7038 --------- Signed-off-by: Nathan Gauër <brioche@google.com>
Move the inline spir-v tests into their own directory. This allows people to find examples that use inline spir-v more easily.
Bumping SM version to 6.9. Though 6.9 is a while away from release, we intend to use 6.9 as a temporary marker for a pre-release version. Co-authored-by: Greg Roth <grroth@microsoft.com>
Add section for upcoming release
And/or intrinsics were set to allow any parameters, which is consistent with the behavior of the && and || operators they were meant to replace, however this meant that if they were passed floating point values, those values would be applied to the binary and/or operands, which isn't allowed. Instead, they should be converted to booleans to be consistent with the behavior of && and ||. This can be done simply by restricting the parameters to booleans which forces the appropriate conversions. Adds tests for for using bools, ints, and floats in scalars, different sized vectors, and matrices as parameters to or and and. Fixes: microsoft#7057 FIxes: microsoft#6995
When the dxil validator detects that the target shader model is a preview shader model that hasn't officially been released, it should sign the dxil container with a special sentinel hash: 02020202020202020202020202020202 Fixes microsoft#7083 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
When the pipeline builds and tests in a windows environment, the time limit of 90 minutes reached. There is an insufficient amount of time available to run the pipeline in the windows environment. So, this PR increases the limit to 120 minutes. Here is an example of insufficient time constraints: microsoft#7065 Additionally, this PR explicitly adds a trigger when a PR is created, so that the pipeline is explicitly run when that event happens. This allows the pipeline to be run with stricter security rules.
Dot products on uint vectors were not using the unsigned mad operations when they were formed using the dot intrinsic though they did when it was the effect of the mul intrinsic. While such operations aren't very common and less common still are the cases where the unsigned variant makes a difference, this was an internal inconsistency as well as with the clang implementation. This corrects the problem using a dummy op for udot similar to how other intrinsics address similar problems to pass the unsigned information to operation lowering. Incidentally adds unsigned notations to all the mul intrinsic entries. This is a non-functional change as any one overload that specifies an unsigned variant will apply for all of them, but it is less confusing than having half of them do it and the other half not. The test verifies the output of a few dot operations with sint, float, and uint types for both dot and mul intrinsics Fixes microsoft#7058
…soft#7091) Cherry-pick of microsoft#7060 to release-1.8.2502 And/or intrinsics were set to allow any parameters, which is consistent with the behavior of the && and || operators they were meant to replace, however this meant that if they were passed floating point values, those values would be applied to the binary and/or operands, which isn't allowed. Instead, they should be converted to booleans to be consistent with the behavior of && and ||. This can be done simply by restricting the parameters to booleans which forces the appropriate conversions. Adds tests for for using bools, ints, and floats in scalars, different sized vectors, and matrices as parameters to or and and. Fixes: microsoft#7057 Fixes: microsoft#6995 (cherry picked from commit 25faa88)
Some error handling changes were incorrectly made to the container assembler, as described in the issue below. This is bad because the API protocol for error handling must remain consistent across all functions. This PR aims to restore the correct semantic meaning of returning bad HR values. Fixes microsoft#7051 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…osoft#7101) **Overview:** This PR resolves microsoft#6505. It adds a cmake file with logic to install nuget packages. It was specifically added so the exec tests could install the latest d3d warp nuget, ensuring the latest shader model support we have. Additionally, the nuget install logic has the ability to install the latest prerelese d3d warp nuget. Selection of the prerelease vs release is toggled using an environment variable. This new logic is accessible by using a new test target 'check-clang-taef-exec-warp'. Alternatively, you can use the the hctbuild script and 'hcttest exec-warp' or 'hcttest exec-warp-preview' **How Tested:** 1. Validated locally with a fresh clean clone, build, and test run. Used 'hctbuild' and 'hcttest exec-warp'. I was unable to directly validate the prerelease path as there is no true prerelease d3d warp nuget available at this time. But I did manually confirm the nuget query on another nuget package which does have a prerelease right now and the query works as expected. 2. Validating end-to-end in the ADO pipeline through this PR.
1. Array with the block decoration are not suppose to have an array stride. 2. The CullPrimitive output should be an array of bools.
…t#7100) Some update to clarify the release procedure and to update the current release notes with PR links. The readme should also now mention the inclusion of dxv.exe in each release.
…crosoft#7129) Some functions need to be removed / changed to unblock some internal pipelines. They are emitting warnings that they are unused. Specifically, `CompareOutputWithExpectedValueFloat`, `CompareOutputWithExpectedValueHalf`, and `CompareOutputWithExpectedValueFloat` need to be removed because they are unused. Additionally, there is a case in assert.cpp where `llvm_assert_trap` is left unused depending on what's been defined and how the preprocessor directives execute. This needs to be remedied so that the function is only defined when it is used.
That pass was intended to remove derivative instructions used in non-fragment shaders. Now they are available in more places because of new extensions. In general, it is better practice to issue an error if they are used in an place they are not allowed. Fixes microsoft#7086
A case was missed when adding the `vk::image_format` to the image types. We did not handle runtime arrays. We fix that oversight. Fixes microsoft#6880
PR description is empty, please add some valid description |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.