From e35fb90eef266f40710bab1e01c54b1bfe7485a0 Mon Sep 17 00:00:00 2001 From: Amer Koleci Date: Wed, 3 Jul 2024 16:04:10 +0200 Subject: [PATCH] Add Vortice.Pix.Native. --- Vortice.Win32.sln | 6 + src/Vortice.Pix.Native/ThirdPartyNotices.txt | 579 ++++++++++++++++++ .../Vortice.Pix.Native.csproj | 29 + src/Vortice.Pix.Native/_._ | 0 .../build/net461/Vortice.Pix.Native.targets | 15 + src/Vortice.Pix.Native/license.txt | 21 + .../win-arm64/native/WinPixEventRuntime.dll | Bin 0 -> 58736 bytes .../win-x64/native/WinPixEventRuntime.dll | Bin 0 -> 58368 bytes 8 files changed, 650 insertions(+) create mode 100644 src/Vortice.Pix.Native/ThirdPartyNotices.txt create mode 100644 src/Vortice.Pix.Native/Vortice.Pix.Native.csproj create mode 100644 src/Vortice.Pix.Native/_._ create mode 100644 src/Vortice.Pix.Native/build/net461/Vortice.Pix.Native.targets create mode 100644 src/Vortice.Pix.Native/license.txt create mode 100644 src/Vortice.Pix.Native/runtimes/win-arm64/native/WinPixEventRuntime.dll create mode 100644 src/Vortice.Pix.Native/runtimes/win-x64/native/WinPixEventRuntime.dll diff --git a/Vortice.Win32.sln b/Vortice.Win32.sln index 13f79ef..52c53c7 100644 --- a/Vortice.Win32.sln +++ b/Vortice.Win32.sln @@ -48,6 +48,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Win32.Media.Audio.X EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Dxc.Native", "src\Vortice.Dxc.Native\Vortice.Dxc.Native.csproj", "{3C579D3B-8239-4707-B906-253181EF52B4}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Pix.Native", "src\Vortice.Pix.Native\Vortice.Pix.Native.csproj", "{E75BA02B-0788-4065-8534-BC3FCF06CC9D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -114,6 +116,10 @@ Global {3C579D3B-8239-4707-B906-253181EF52B4}.Debug|Any CPU.Build.0 = Debug|Any CPU {3C579D3B-8239-4707-B906-253181EF52B4}.Release|Any CPU.ActiveCfg = Release|Any CPU {3C579D3B-8239-4707-B906-253181EF52B4}.Release|Any CPU.Build.0 = Release|Any CPU + {E75BA02B-0788-4065-8534-BC3FCF06CC9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E75BA02B-0788-4065-8534-BC3FCF06CC9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E75BA02B-0788-4065-8534-BC3FCF06CC9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E75BA02B-0788-4065-8534-BC3FCF06CC9D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Vortice.Pix.Native/ThirdPartyNotices.txt b/src/Vortice.Pix.Native/ThirdPartyNotices.txt new file mode 100644 index 0000000..45f4d53 --- /dev/null +++ b/src/Vortice.Pix.Native/ThirdPartyNotices.txt @@ -0,0 +1,579 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION + +Note: While Microsoft is not the author of the files below, Microsoft is +offering you a license subject to the terms of the Microsoft Software License +Terms for Microsoft PIX Developer Tool (the "Microsoft Program"). Microsoft +reserves all other rights. The notices below are provided for informational +purposes only and are not the license terms under which Microsoft distributes +these files. + +The Microsoft Program includes the following third-party software: + +1. Boost v. 1.66.0 (https://sourceforge.net/projects/boost/files/boost/1.66.0) +2. fmt v4.1.0 (https://github.com/fmtlib/fmt/releases/tag/4.1.0) +3. SQLite 3 (http://www.sqlite.org/) +4. AMD PIX Plugin +5. nlohmann JSON (https://github.com/nlohmann/json) +6. PresentMon (https://github.com/GameTechDev/PresentMon) +7. DirectXTex (https://github.com/microsoft/directxtex) +8. DirectXTK12 (https://github.com/microsoft/DirectXTK12) +9. Guidelines Support Library (GSL) (https://github.com/microsoft/GSL) +10. Windows Implementation Library (WIL) (https://github.com/microsoft/wil) +11. GoogleTest (https://github.com/google/googletest/) +12. Newtonsoft.Json (https://www.newtonsoft.com/json) +13. WIX (https://wixtoolset.org/) +14. Moq (https://github.com/moq/moq) +15. FluentAssertions (https://github.com/fluentassertions/fluentassertions) +16. .NET Community Toolkit (https://github.com/CommunityToolkit/dotnet) +17. LiveCharts (https://lvcharts.com) +18. NVIDIA PIX Plugin + +As the recipient of the above third-party software, Microsoft sets forth a copy +of the notices and other information below. + + +BOOST NOTICES AND INFORMATION BEGIN HERE +======================================== + +Boost v. 1.66.0 +Copyright Beman Dawes, David Abrahams, 1998-2005 +Copyright Rene Rivera 2006-2007 +Provided for Informational Purposes Only +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by this +license (the "Software") to use, reproduce, display, distribute, execute, and +transmit the Software, and to prepare derivative works of the Software, and to +permit third-parties to whom the Software is furnished to do so, all subject to +the following: + +The copyright notices in the Software and this entire statement, including the +above license grant, this restriction and the following disclaimer, must be +included in all copies of the Software, in whole or in part, and all derivative +works of the Software, unless such copies or derivative works are solely in the +form of machine-executable object code generated by a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL +THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY +DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE + +END OF BOOST NOTICES AND INFORMATION +==================================== + +FMT NOTICES AND INFORMATION BEGIN HERE +====================================== + +fmt v4.1.0 +Copyright (c) 2012 - 2016, Victor Zverovich +Provided for Informational Purposes Only +BSD 2-clause + + +Copyright (c) 2012 - 2016, Victor Zverovich + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +END OF FMT NOTICES AND INFORMATION +================================== + +SQLITE3 NOTICES AND INFORMATION BEGIN HERE +========================================== + +https://www.sqlite.org/copyright.html +SQLite Is Public Domain + +All of the code and documentation in SQLite has been dedicated to the public +domain by the authors. All code authors, and representatives of the companies +they work for, have signed affidavits dedicating their contributions to the +public domain and originals of those signed affidavits are stored in a firesafe +at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, +compile, sell, or distribute the original SQLite code, either in source code +form or as a compiled binary, for any purpose, commercial or non-commercial, and +by any means. + +The previous paragraph applies to the deliverable code and documentation in SQLite - +those parts of the SQLite library that you actually bundle and ship with a larger +application. Some scripts used as part of the build process (for example the "configure" +scripts generated by autoconf) might fall under other open-source licenses. Nothing +from these build scripts ever reaches the final deliverable SQLite library, however, +and so the licenses associated with those scripts should not be a factor in assessing +your rights to copy and use the SQLite library. + +All of the deliverable code in SQLite has been written from scratch. No code has been +taken from other projects or from the open internet. Every line of code can be traced +back to its original author, and all of those authors have public domain dedications +on file. So the SQLite code base is clean and is uncontaminated with licensed code +from other projects. + +END OF SQLITE3 NOTICES AND INFORMATION +====================================== + +AMD NOTICES AND INFORMATION BEGIN HERE +====================================== + +AMD copyrighted code (MIT) +Copyright (c) 2017-2023 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +Microsoft copyrighted code (MIT) +Copyright (c) Microsoft. All rights reserved. + +This code is licensed under the MIT License (MIT). +THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. + +END OF AMD NOTICES AND INFORMATION +================================== + +NLOHMANN JSON NOTICES AND INFORMATION BEGIN HERE +====================================== + +MIT License + +Copyright (c) 2013-2021 Niels Lohmann + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END OF NLOHMANN JSON NOTICES AND INFORMATION +================================== + +PRESENTMON NOTICES AND INFORMATION BEGIN HERE +====================================== + +Copyright (C) 2017-2021 Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +END OF PRESENTMON NOTICES AND INFORMATION +================================== + +DIRECTXTEX NOTICES AND INFORMATION BEGIN HERE +====================================== + +Copyright (c) 2011-2021 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +END OF DIRECTXTEX NOTICES AND INFORMATION +================================== + +DIRECTXTK12 NOTICES AND INFORMATION BEGIN HERE +====================================== + +Copyright (c) 2016-2021 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +END OF DIRECTXTK12 NOTICES AND INFORMATION +================================== + +GSL NOTICES AND INFORMATION BEGIN HERE +====================================== + +Copyright (c) 2015 Microsoft Corporation. All rights reserved. + +This code is licensed under the MIT License (MIT). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +END OF GSL NOTICES AND INFORMATION +================================== + +WIL NOTICES AND INFORMATION BEGIN HERE +====================================== +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +END OF WIL NOTICES AND INFORMATION +================================== + +GOOGLETEST NOTICES AND INFORMATION BEGIN HERE +====================================== +Copyright 2008, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +END OF GOOGLETEST NOTICES AND INFORMATION +================================== + +NEWTONSOFT.JSON NOTICES AND INFORMATION BEGIN HERE +====================================== +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +END OF NEWTONSOFT.JSON NOTICES AND INFORMATION +================================= + +WIX NOTICES AND INFORMATION BEGIN HERE +====================================== +Copyright (c) .NET Foundation and contributors. This software is released under +the Microsoft Reciprocal License (MS-RL) (the "License"); you may not use the +software except in compliance with the License. + +The text of the Microsoft Reciprocal License (MS-RL) can be found online at: +http://opensource.org/licenses/ms-rl + + +Microsoft Reciprocal License (MS-RL) + +This license governs use of the accompanying software. If you use the software, +you accept this license. If you do not accept the license, do not use the +software. + +1. Definitions The terms "reproduce," "reproduction," "derivative works," and +"distribution" have the same meaning here as under U.S. copyright law. A +"contribution" is the original software, or any additions or changes to the +software. A "contributor" is any person that distributes its contribution under +this license. "Licensed patents" are a contributor's patent claims that read +directly on its contribution. + +2. Grant of Rights (A) Copyright Grant- Subject to the terms of this license, +including the license conditions and limitations in section 3, each contributor +grants you a non-exclusive, worldwide, royalty-free copyright license to +reproduce its contribution, prepare derivative works of its contribution, and +distribute its contribution or any derivative works that you create. (B) Patent +Grant- Subject to the terms of this license, including the license conditions and +limitations in section 3, each contributor grants you a non-exclusive, worldwide, +royalty-free license under its licensed patents to make, have made, use, sell, +offer for sale, import, and/or otherwise dispose of its contribution in the +software or derivative works of the contribution in the software. + +3. Conditions and Limitations (A) Reciprocal Grants- For any file you distribute +that contains code from the software (in source code or binary format), you must +provide recipients the source code to that file along with a copy of this +license, which license will govern that file. You may license other files that +are entirely your own work and do not contain code from the software under any +terms you choose. (B) No Trademark License- This license does not grant you +rights to use any contributors' name, logo, or trademarks. (C) If you bring a +patent claim against any contributor over patents that you claim are infringed by +the software, your patent license from such contributor to the software ends +automatically. (D) If you distribute any portion of the software, you must retain +all copyright, patent, trademark, and attribution notices that are present in the +software. (E) If you distribute any portion of the software in source code form, +you may do so only under this license by including a complete copy of this +license with your distribution. If you distribute any portion of the software in +compiled or object code form, you may only do so under a license that complies +with this license. (F) The software is licensed "as-is." You bear the risk of +using it. The contributors give no express warranties, guarantees or conditions. +You may have additional consumer rights under your local laws which this license +cannot change. To the extent permitted under your local laws, the contributors +exclude the implied warranties of merchantability, fitness for a particular +purpose and non-infringement. + +END OF WIX NOTICES AND INFORMATION +================================= + + +MOQ NOTICES AND INFORMATION BEGIN HERE +====================================== +MIT License + +Copyright (c) Daniel Cazzulino and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END OF MOQ NOTICES AND INFORMATION +================================== + + +FLUENTASSERTIONS NOTICES AND INFORMATION BEGIN HERE +=================================================== +Copyright [2010-2021] [Dennis Doomen] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +END OF FLUENTASSERTIONS NOTICES AND INFORMATION +=============================================== + +.NET COMMUNITY TOOLKIT NOTICES AND INFORMATION BEGIN HERE +====================================== +MIT License + +Copyright © .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END OF .NET COMMUNITY TOOLKIT NOTICES AND INFORMATION +================================== + +LIVE CHARTS NOTICES AND INFORMATION BEGIN HERE +====================================== +MIT License + +Copyright (c) 2021 Alberto Rodriguez Orozco + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END OF LIVE CHARTS NOTICES AND INFORMATION +================================== + +NVIDIA PIX PLUGIN NOTICES AND INFORMATION BEGIN HERE +====================================== +Copyright (c) Microsoft Corporation. +Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END OF NVIDIA PIX PLUGIN NOTICES AND INFORMATION +================================== \ No newline at end of file diff --git a/src/Vortice.Pix.Native/Vortice.Pix.Native.csproj b/src/Vortice.Pix.Native/Vortice.Pix.Native.csproj new file mode 100644 index 0000000..f376e47 --- /dev/null +++ b/src/Vortice.Pix.Native/Vortice.Pix.Native.csproj @@ -0,0 +1,29 @@ + + + + netstandard2.0;net4.6.1;net8.0 + WinPixEventRuntime native libraries + 1.0.0 + false + true + + license.txt + https://github.com/microsoft/PixEvents + README.md + + + + + + + + + + + + + + + + + diff --git a/src/Vortice.Pix.Native/_._ b/src/Vortice.Pix.Native/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/Vortice.Pix.Native/build/net461/Vortice.Pix.Native.targets b/src/Vortice.Pix.Native/build/net461/Vortice.Pix.Native.targets new file mode 100644 index 0000000..b1b23e4 --- /dev/null +++ b/src/Vortice.Pix.Native/build/net461/Vortice.Pix.Native.targets @@ -0,0 +1,15 @@ + + + + <_Vortice_Pix_Native_IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true + <_Vortice_Pix_Native_NativeRuntime Condition=" '$(_Vortice_Pix_Native_NativeRuntime)' == '' And '$(_Vortice_Pix_Native_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64 + <_Vortice_Pix_Native_NativeRuntime Condition=" '$(_Vortice_Pix_Native_NativeRuntime)' == '' And '$(_Vortice_Pix_Native_IsWindows)' == 'true' And '$(PlatformTarget)' == 'ARM64'">win-arm64 + + + + %(Filename)%(Extension) + Always + False + + + diff --git a/src/Vortice.Pix.Native/license.txt b/src/Vortice.Pix.Native/license.txt new file mode 100644 index 0000000..63447fd --- /dev/null +++ b/src/Vortice.Pix.Native/license.txt @@ -0,0 +1,21 @@ +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/Vortice.Pix.Native/runtimes/win-arm64/native/WinPixEventRuntime.dll b/src/Vortice.Pix.Native/runtimes/win-arm64/native/WinPixEventRuntime.dll new file mode 100644 index 0000000000000000000000000000000000000000..6273f1fc24cb02c048182a3674f7ddef4e5109c8 GIT binary patch literal 58736 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 TpbEI2b&JEJ=q}vlv+({84Jx`m literal 0 HcmV?d00001 diff --git a/src/Vortice.Pix.Native/runtimes/win-x64/native/WinPixEventRuntime.dll b/src/Vortice.Pix.Native/runtimes/win-x64/native/WinPixEventRuntime.dll new file mode 100644 index 0000000000000000000000000000000000000000..5d86359dbe5894f2a66f1ff44c43746f5c1fc922 GIT binary patch literal 58368 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

*+qM47|#j$M1U=W*o~@&-D0$1 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 AJ^%m! literal 0 HcmV?d00001