Skip to content

Repo sync for protected CLA branch #2574

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
merged 10 commits into from
Nov 4, 2020
6 changes: 4 additions & 2 deletions docs/build/get-started-linux-cmake.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ In this tutorial, you learn how to:

* Set up a Linux machine for Cross Platform C++ Development
* Visual Studio doesn't require any specific distribution of Linux. The OS can be running on a physical machine, in a VM, or in the cloud. You could also use the Windows Subsystem for Linux (WSL). However, for this tutorial a graphical environment is required. WSL isn't recommended here, because it's intended primarily for command-line operations.
* Visual Studio requires these tools on the Linux machine: C++ compilers, gdb, ssh, rsync, ninja, and zip. On Debian-based systems, you can use this command to install these dependencies:
* Visual Studio requires these tools on the Linux machine: C++ compilers, gdb, ssh, rsync, make, and zip. On Debian-based systems, you can use this command to install these dependencies:

```cmd
sudo apt install -y openssh-server build-essential gdb rsync ninja-build zip
sudo apt install -y openssh-server build-essential gdb rsync make zip
```

* Visual Studio requires a recent version of CMake on the Linux machine that has server mode enabled (at least 3.8). Microsoft produces a universal build of CMake that you can install on any Linux distro. We recommend you use this build to ensure that you have the latest features. You can get the CMake binaries from [the Microsoft fork of the CMake repo](https://github.com/Microsoft/CMake/releases) on GitHub. Go to that page and download the version that matches the system architecture on your Linux machine, then mark it as an executable:
Expand Down Expand Up @@ -139,6 +139,8 @@ In this step, we'll debug an example program that demonstrates the Bullet Physic

1. Add a Linux configuration. Right-click the CMakeSettings.json file in the **Solution Explorer** view and select **Add Configuration**. You see the same Add Configuration to CMakeSettings dialog as before. Select **Linux-Debug** this time, then save the CMakeSettings.json file (ctrl + s).

1. **Visual Studio 2019 version 16.6 or later** Scroll down to the bottom of the CMake Settings Editor and select **Show advanced settings**. Select **Unix Makefiles** as the **CMake generator**, then save the CMakeSettings.json file (ctrl + s).

1. Select **Linux-Debug** in the configuration drop-down.

![Launch configuration drop-down with X64-Debug and Linux-Debug options](media/cmake-bullet3-linux-configuration-item.png)
Expand Down
4 changes: 2 additions & 2 deletions docs/build/reference/hlsl-property-pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ f1_keywords:
---
# HLSL Compiler Property Pages

You can use the HLSL compiler (fxc.exe) property pages to configure how individual HLSL shader files are built. You can also specify command-line arguments to the HLSL compiler by using the **Additional Options** property of the **Command Line** property page; this includes arguments that can't be configured by using other properties of the HLSL property pages. For information about the HLSL compiler, see [Effect-Compiler Tool](https://go.microsoft.com/fwlink/p/?LinkID=258285&clcid=0x409)
You can use the HLSL compiler (fxc.exe) property pages to configure how individual HLSL shader files are built. You can also specify command-line arguments to the HLSL compiler by using the **Additional Options** property of the **Command Line** property page; this includes arguments that can't be configured by using other properties of the HLSL property pages. For information about the HLSL compiler, see [Effect-Compiler Tool](/windows/win32/direct3dtools/fxc)

## HLSL General Property Page

Expand Down Expand Up @@ -140,4 +140,4 @@ Specifies file name for assembly code listing file

[C++ project property page reference](property-pages-visual-cpp.md)<br>
[Command Line Property Pages](command-line-property-pages.md)<br>
[Compiling Shaders](https://go.microsoft.com/fwlink/p/?LinkID=258284&clcid=0x409)
[Compiling Shaders](/windows/win32/direct3dhlsl/dx-graphics-hlsl-part1)
4 changes: 2 additions & 2 deletions docs/extensions/partial-cpp-component-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Templates: A partial class cannot be a template.

Generics: A partial class can be a generic if the full definition could be generic. But every partial and full class must have exactly the same generic parameters, including formal parameter names.

For more information about how to use the **partial** keyword, see [Partial Classes (C++/CX)](https://go.microsoft.com/fwlink/p/?LinkId=249023).
For more information about how to use the **partial** keyword, see [Partial Classes (C++/CX)](../cppcx/partial-classes-c-cx.md).

### Requirements

Expand All @@ -70,4 +70,4 @@ Compiler option: `/ZW`

## See also

[Partial Classes (C++/CX)](https://go.microsoft.com/fwlink/p/?LinkId=249023)
[Partial Classes (C++/CX)](../cppcx/partial-classes-c-cx.md)
2 changes: 1 addition & 1 deletion docs/mfc/reference/cbitmap-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ Nonzero if successful; otherwise 0.

By default, `LoadMappedBitmap` will map colors commonly used in button glyphs.

For information about creating a mapped bitmap, see the Windows function [CreateMappedBitmap](https://go.microsoft.com/fwlink/p/?linkid=230562) and the [COLORMAP](/windows/win32/api/commctrl/ns-commctrl-colormap) structure in the Windows SDK.
For information about creating a mapped bitmap, see the Windows function [CreateMappedBitmap](/windows/win32/api/commctrl/nf-commctrl-createmappedbitmap) and the [COLORMAP](/windows/win32/api/commctrl/ns-commctrl-colormap) structure in the Windows SDK.

## <a name="loadoembitmap"></a> CBitmap::LoadOEMBitmap

Expand Down
2 changes: 1 addition & 1 deletion docs/mfc/reference/chtmleditctrlbase-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -1478,7 +1478,7 @@ long QueryStatus(long cmdID) const;
### Parameters

*cmdID*<br/>
The command ID. Command identifiers are taken from the CGID_MSHTML command group. These commands are defined in Mshtmcid.h. You can also find the list online at [MSHTML Command Identifiers](https://go.microsoft.com/fwlink/p/?linkid=149220).
The command ID. Command identifiers are taken from the CGID_MSHTML command group. These commands are defined in Mshtmcid.h. You can also find the list online at [MSHTML Command Identifiers](/previous-versions/aa741315(v=vs.85)).

### Return Value

Expand Down
4 changes: 2 additions & 2 deletions docs/parallel/amp/cpp-amp-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,9 @@ Like other C++ libraries, you can use C++ AMP in your UWP apps. These articles d

- [Using C++ AMP in UWP Apps](../../parallel/amp/using-cpp-amp-in-windows-store-apps.md)

- [Walkthrough: Creating a basic Windows Runtime component in C++ and calling it from JavaScript](https://go.microsoft.com/fwlink/p/?linkid=249077)
- [Walkthrough: Creating a basic Windows Runtime component in C++ and calling it from JavaScript](/previous-versions/windows/apps/hh755833(v=vs.140))

- [Bing Maps Trip Optimizer, a Window Store app in JavaScript and C++](https://go.microsoft.com/fwlink/p/?linkid=249078)
- [Bing Maps Trip Optimizer, a Window Store app in JavaScript and C++](/previous-versions/windows/apps/hh699893(v=vs.140))

- [How to use C++ AMP from C# using the Windows Runtime](https://devblogs.microsoft.com/pfxteam/how-to-use-c-amp-from-c-using-winrt/)

Expand Down
6 changes: 3 additions & 3 deletions docs/parallel/amp/graphics-cpp-amp.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The `norm` and `unorm` types are scalar types that limit the range of **`float`*

## Short Vector Library

The Short Vector Library provides some of the functionality of the [Vector Type](https://go.microsoft.com/fwlink/p/?linkid=248500) that's defined in HLSL and is typically used to define texels. A short vector is a data structure that holds one to four values of the same type. The supported types are **`double`**, **`float`**, **`int`**, `norm`, `uint`, and `unorm`. The type names are shown in the following table. For each type, there is also a corresponding **`typedef`** that doesn't have an underscore in the name. The types that have the underscores are in the [Concurrency::graphics Namespace](../../parallel/amp/reference/concurrency-graphics-namespace.md). The types that don't have the underscores are in the [Concurrency::graphics::direct3d Namespace](../../parallel/amp/reference/concurrency-graphics-direct3d-namespace.md) so that they are clearly separated from the similarly-named fundamental types such as **`__int8`** and **`__int16`**.
The Short Vector Library provides some of the functionality of the [Vector Type](/windows/win32/direct3dhlsl/dx-graphics-hlsl-vector) that's defined in HLSL and is typically used to define texels. A short vector is a data structure that holds one to four values of the same type. The supported types are **`double`**, **`float`**, **`int`**, `norm`, `uint`, and `unorm`. The type names are shown in the following table. For each type, there is also a corresponding **`typedef`** that doesn't have an underscore in the name. The types that have the underscores are in the [Concurrency::graphics Namespace](../../parallel/amp/reference/concurrency-graphics-namespace.md). The types that don't have the underscores are in the [Concurrency::graphics::direct3d Namespace](../../parallel/amp/reference/concurrency-graphics-direct3d-namespace.md) so that they are clearly separated from the similarly-named fundamental types such as **`__int8`** and **`__int16`**.

|Type|Length 2|Length 3|Length 4|
|-|--------------|--------------|--------------|
Expand Down Expand Up @@ -61,7 +61,7 @@ Many GPUs have hardware and caches that are optimized to fetch pixels and texels

- A short vector that has two or four components. The only exception is `double_4`, which is not allowed.

The `texture` object can have a rank of 1, 2, or 3. The `texture` object can be captured only by reference in the lambda of a call to `parallel_for_each`. The texture is stored on the GPU as Direct3D texture objects. For more information about textures and texels in Direct3D, see [Introduction to Textures in Direct3D 11](https://go.microsoft.com/fwlink/p/?linkid=248502).
The `texture` object can have a rank of 1, 2, or 3. The `texture` object can be captured only by reference in the lambda of a call to `parallel_for_each`. The texture is stored on the GPU as Direct3D texture objects. For more information about textures and texels in Direct3D, see [Introduction to Textures in Direct3D 11](/windows/win32/direct3d11/overviews-direct3d-11-resources-textures-intro).

The texel type you use might be one of the many texture formats that are used in graphics programming. For example, an RGBA format could use 32 bits, with 8 bits each for the R, G, B, and A scalar elements. The texture hardware of a graphics card can access the individual elements based on the format. For example, if you are using the RGBA format, the texture hardware can extract each 8-bit element into a 32-bit form. In C++ AMP, you can set the bits per scalar element of your texel so that you can automatically access the individual scalar elements in the code without using bit-shifting.

Expand Down Expand Up @@ -398,7 +398,7 @@ parallel_for_each(w_view.extent, [=](index<2> idx) restrict(amp)

## Interoperability

The C++ AMP runtime supports interoperability between `texture<T,1>` and the [ID3D11Texture1D interface](https://go.microsoft.com/fwlink/p/?linkId=248503), between `texture<T,2>` and the [ID3D11Texture2D interface](https://go.microsoft.com/fwlink/p/?linkId=255317), and between `texture<T,3>` and the [ID3D11Texture3D interface](https://go.microsoft.com/fwlink/p/?linkId=255377). The [get_texture](reference/concurrency-graphics-direct3d-namespace-functions.md#get_texture) method takes a `texture` object and returns an `IUnknown` interface. The [make_texture](reference/concurrency-graphics-direct3d-namespace-functions.md#make_texture) method takes an `IUnknown` interface and an `accelerator_view` object and returns a `texture` object.
The C++ AMP runtime supports interoperability between `texture<T,1>` and the [ID3D11Texture1D interface](/windows/win32/api/d3d11/nn-d3d11-id3d11texture1d), between `texture<T,2>` and the [ID3D11Texture2D interface](/windows/win32/api/d3d11/nn-d3d11-id3d11texture2d), and between `texture<T,3>` and the [ID3D11Texture3D interface](/windows/win32/api/d3d11/nn-d3d11-id3d11texture3d). The [get_texture](reference/concurrency-graphics-direct3d-namespace-functions.md#get_texture) method takes a `texture` object and returns an `IUnknown` interface. The [make_texture](reference/concurrency-graphics-direct3d-namespace-functions.md#make_texture) method takes an `IUnknown` interface and an `accelerator_view` object and returns a `texture` object.

## See also

Expand Down
2 changes: 1 addition & 1 deletion docs/windows/determining-which-dlls-to-redistribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The individual redistributable DLLs are also included in your installation of Vi

To determine which DLLs you have to redistribute with your application, collect a list of the DLLs that your application depends on. These are normally listed as import library inputs to the linker. Certain libraries, such as vcruntime and the Universal C Runtime Library (UCRT), are included by default. If your app or one of its dependencies uses LoadLibrary to dynamically load a DLL, that DLL may not be listed in the inputs to the linker. One way to collect the list of dynamically loaded DLLs is to run Dependency Walker (depends.exe) on your app, as described in [Understanding the Dependencies of a Visual C++ Application](understanding-the-dependencies-of-a-visual-cpp-application.md). Unfortunately, this tool is outdated and may report that it can't find certain DLLs.

When you have the list of dependencies, compare it to the list linked in the Redist.txt file found under the Microsoft Visual Studio installation directory, or to the "REDIST list" of redistributable DLLs that is referenced in the "Distributable Code Files" section of the Microsoft Software License Terms for your copy of Visual Studio. For Visual Studio 2017, see [Distributable Code for Microsoft Visual Studio 2017 (Includes Utilities, Extensibility, and BuildServer Files)](https://go.microsoft.com/fwlink/p/?linkid=823098). For Visual Studio 2015, see [Distributable Code for Microsoft Visual Studio 2015 and Microsoft Visual Studio 2015 SDK (Includes Utilities and BuildServer Files)](https://go.microsoft.com/fwlink/p/?linkid=799794). For Visual Studio 2013, the list is available online in [Distributable Code for Microsoft Visual Studio 2013 and Microsoft Visual Studio 2013 SDK](https://go.microsoft.com/fwlink/p/?LinkId=313603).
When you have the list of dependencies, compare it to the list linked in the Redist.txt file found under the Microsoft Visual Studio installation directory, or to the "REDIST list" of redistributable DLLs that is referenced in the "Distributable Code Files" section of the Microsoft Software License Terms for your copy of Visual Studio. For Visual Studio 2017, see [Distributable Code for Microsoft Visual Studio 2017 (Includes Utilities, Extensibility, and BuildServer Files)](/visualstudio/productinfo/2017-redistribution-vs). For Visual Studio 2015, see [Distributable Code for Microsoft Visual Studio 2015 and Microsoft Visual Studio 2015 SDK (Includes Utilities and BuildServer Files)](/visualstudio/productinfo/2015-redistribution-vs). For Visual Studio 2013, the list is available online in [Distributable Code for Microsoft Visual Studio 2013 and Microsoft Visual Studio 2013 SDK](/visualstudio/productinfo/2013-redistribution-vs).

In Visual Studio versions before Visual Studio 2015, the C Runtime Library (CRT) was included as a redistributable DLL, in msvc*version*.dll. Starting in Visual Studio 2015, the functions in the CRT were refactored into the vcruntime and the UCRT. The UCRT is now a system component in Windows 10, managed by Windows Update. It is available on all Windows 10 operating systems. To deploy your application to earlier operating systems, you may need to redistribute the UCRT as well. An early version of the UCRT is included in the Visual Studio redistributable files, which is only installed on operating systems earlier than Windows 10, and only if no version of the UCRT is already installed. For an installable version of the UCRT for downlevel systems as a Microsoft System Update package, see [Windows 10 Universal C Runtime](https://www.microsoft.com/download/details.aspx?id=48234) in the Microsoft Download Center.

Expand Down