Skip to content

Commit 5e98d45

Browse files
authored
Merge pull request #649 from microsoft/onboardSamplesForDMCSamplesBrowser
Onboard remaining Direct3D 12 samples to the DMC Samples Browser.
2 parents 3e8b39e + 2fcd597 commit 5e98d45

42 files changed

Lines changed: 773 additions & 200 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Samples/Desktop/D3D1211On12/readme.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ languages:
44
- cpp
55
products:
66
- windows-api-win32
7-
name: 11 on 12 Sample
8-
urlFragment: 11-on-12-sample-win32
7+
name: Direct3D 12 11-on-12 sample
8+
urlFragment: d3d12-11-on-12-sample-win32
99
description: Demonstrates how to use Direct3D 11-based rendering in combination with Direct3D 12.
1010
extendedZipContent:
1111
- path: LICENSE
1212
target: LICENSE
1313
---
1414

15-
# 11 on 12 Sample
15+
# Direct3D 12 11-on-12 sample
1616

1717
![11On12 GUI](src/D3D1211On12.png)
1818

Samples/Desktop/D3D12Bundles/readme.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,20 @@ languages:
44
- cpp
55
products:
66
- windows-api-win32
7-
name: Bundles Sample
8-
urlFragment: bundles-sample-win32
7+
name: Direct3D 12 bundles sample
8+
urlFragment: d3d12-bundles-sample-win32
99
description: Demonstrates the use of Direct3D 12 bundles.
1010
extendedZipContent:
1111
- path: LICENSE
1212
target: LICENSE
1313
---
1414

15-
16-
# Bundles Sample
15+
# Direct3D 12 bundles sample
1716

1817
![Bundles GUI](src/D3D12Bundles.png)
1918

20-
This sample demonstrates the use of Direct3D 12 Bundles. An app can use Bundles to group a small number of API commands together for execution later. When a Bundle is created, the driver will perform as much pre-processing as possible to make it inexpensive to execute the Bundle later. Part of this pre-processing means that there are certain restrictions on what operations can be performed within a Bundle.
19+
This sample demonstrates the use of Direct3D 12 bundles. An app can use bundles to group a small number of API commands together for execution later. When a bundle is created, the driver will perform as much pre-processing as possible to make it inexpensive to execute the bundle later. Part of this pre-processing means that there are certain restrictions on what operations can be performed within a bundle.
2120

22-
## Optional Features
21+
## Optional features
2322

2423
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
1-
# Depth Bounds Test Sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 depth bounds test sample
8+
urlFragment: d3d12-depth-bounds-test-sample-win32
9+
description: Demonstrates the depth bound test in Direct3D 12.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 depth bounds test sample
216
![DepthBounds GUI](src/D3D12DepthBoundsTest.png)
317

418
This sample demonstrates the depth bound test in Direct3D 12.
519
Depth-bounds testing allows pixels to be discarded if the currently-stored depth value is outside the range specified by Min and Max, inclusive.
620

7-
See more detail about depth bounds test in the following page. https://msdn.microsoft.com/en-us/library/windows/desktop/mt492658(v=vs.85).aspx
21+
For more detail about depth bounds test, see [**ID3D12GraphicsCommandList1::OMSetDepthBounds**](https://docs.microsoft.com/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist1-omsetdepthbounds).
Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
1-
# Dynamic Indexing Sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 dynamic indexing sample
8+
urlFragment: d3d12-dynamic-indexing-sample-win32
9+
description: Demonstrates the use of new features available in HLSL's Shader Model 5.1—specifically, dynamic indexing and unbounded descriptor tables.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 dynamic indexing sample
216
![DynamicIndexing GUI](src/D3D12DynamicIndexing.png)
317

4-
This sample demonstrates the use of new features available in HLSL's Shader Model 5.1 - specifically dynamic indexing and unbounded descriptor tables. With dynamic indexing, shaders can now index into an array without knowing the value of the index at compile time. When combined with unbounded arrays, this adds another level of indirection and flexibility for shader authors and art pipelines.
18+
This sample demonstrates the use of new features available in HLSL's Shader Model 5.1—specifically, dynamic indexing and unbounded descriptor tables. With dynamic indexing, shaders can now index into an array without knowing the value of the index at compile time. When combined with unbounded arrays, this adds another level of indirection and flexibility for shader authors and art pipelines.
519

6-
### Optional Features
20+
### Optional features
721
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
1-
# Execute Indirect Sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 execute indirect sample
8+
urlFragment: d3d12-execute-indirect-sample-win32
9+
description: Demonstrates how to generate dynamic GPU workloads using the graphics command list's [**ID3D12GraphicsCommandList::ExecuteIndirect**](https://docs.microsoft.com/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-executeindirect) API.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 execute indirect sample
216
![ExecuteIndirect GUI](src/D3D12ExecuteIndirect.png)
317

4-
This sample demostrates how to generate dynamic GPU workloads using the graphics command list's ExecuteIndirect API. In this sample, a large number of triangles animate across the screen and a compute shader is used to determine which triangles are visible. The draw calls for those triangles are then aggregated into a buffer that is processed by the ExecuteIndirect API so that only those triangles are processed by the graphics pipeline.
18+
This sample demonstrates how to generate dynamic GPU workloads using the graphics command list's [**ID3D12GraphicsCommandList::ExecuteIndirect**](https://docs.microsoft.com/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-executeindirect) API. In this sample, a large number of triangles animate across the screen, and a compute shader is used to determine which triangles are visible. The draw calls for those triangles are then aggregated into a buffer that is processed by the ExecuteIndirect API so that only those triangles are processed by the graphics pipeline.
519

620
### Controls
721
SPACE bar - toggles the compute shader on and off.
822

9-
### Optional Features
10-
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
23+
### Optional features
24+
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1-
# Fullscreen sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 fullscreen sample
8+
urlFragment: d3d12-fullscreen-sample-win32
9+
description: Illustrates how to handle fullscreen <-> windowed transitions and window resizing in DirectX 12.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 fullscreen sample
216
![Fullscreen GUI](src/D3D12Fullscreen.png)
317

418
This sample illustrates how to handle fullscreen <-> windowed transitions and window resizing in DirectX 12.
@@ -7,5 +21,5 @@ This sample illustrates how to handle fullscreen <-> windowed transitions and wi
721
SPACE bar - toggles between windowed and fullscreen modes.
822
LEFT/RIGHT arrow keys - changes the resolution of the scene.
923

10-
### Optional Features
24+
### Optional features
1125
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.

Samples/Desktop/D3D12HDR/readme.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
1-
# HDR sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 HDR sample
8+
urlFragment: d3d12-hdr-sample-win32
9+
description: Illustrates how to render HDR content, and detect whether the current display supports it.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 HDR sample
216
![HDR GUI](src/D3D12HDR.png)
317

4-
This sample illustrates how to render HDR content and detect whether the current display supports it.
18+
This sample illustrates how to render HDR content, and detect whether the current display supports it.
519

620
### Controls
721
SPACE bar/ALT+ENTER - toggles between windowed and fullscreen modes.
Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,45 @@
1-
# Hello World Samples
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 Hello, World! samples
8+
urlFragment: d3d12-hello-world-samples-win32
9+
description: This collection of samples act as an introduction to Direct3D 12. Each sample introduces an elementary concept, and lays a foundation for all of the Direct3D 12 samples.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 Hello, World! samples
216
![HelloWorlds GUI](src/D3D12HelloWorlds.png)
317

4-
This collection of samples act as an introduction to Direct3D 12. Each sample introduces an elementary concept and lays a foundation for all of the Direct3D 12 samples.
5-
## Hello Window Sample
18+
This collection of samples act as an introduction to Direct3D 12. Each sample introduces an elementary concept, and lays a foundation for all of the Direct3D 12 samples.
19+
20+
## Hello, window! sample
21+
622
This sample shows you how to create a window, Direct3D device (with debug layers enabled), and present to the window. These are the basic elements that every sample uses.
7-
## Hello Triangle Sample
23+
24+
## Hello, triangle! sample
25+
826
This sample shows you how to draw a static triangle using a vertex buffer.
9-
## Hello Texture Sample
27+
28+
## Hello, texture! sample
29+
1030
This sample shows you how to apply a Texture2D to triangle.
11-
## Hello Bundles Sample
31+
32+
## Hello, bundles! sample
33+
1234
This sample shows you how to use Bundles to draw a static triangle more efficiently.
13-
## Hello Constant Buffers Sample
35+
36+
## Hello, constant buffers! sample
37+
1438
This sample shows you how to animate a triangle using a constant buffer.
15-
## Hello Frame Buffering Sample
39+
40+
## Hello, frame buffering! sample
41+
1642
This sample shows you how to use fences and multiple allocators to queue up multiple frames to the GPU.
1743

18-
### Optional Features
44+
### Optional features
1945
The Texture and Constant Buffer samples have been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
1-
# Heterogeneous Multiadapter Sample
1+
---
2+
page_type: sample
3+
languages:
4+
- cpp
5+
products:
6+
- windows-api-win32
7+
name: Direct3D 12 heterogeneous multiadapter sample
8+
urlFragment: d3d12-heterogeneous-multiadapter-sample-win32
9+
description: Demonstrates how to share workloads among multiple heterogeneous GPUs using shared heaps.
10+
extendedZipContent:
11+
- path: LICENSE
12+
target: LICENSE
13+
---
14+
15+
# Direct3D 12 heterogeneous multiadapter sample
216
![HeterogeneousMultiadapter GUI](src/D3D12HeterogeneousMultiadapter.png)
317

4-
This sample demostrates how to share workloads amongst multiple heterogeneous GPUs using shared heaps. In this sample, a large number of triangles are rendered to an intermediate render target on one GPU, then a second GPU performs a blur and presents it to the screen.
18+
This sample demonstrates how to share workloads among multiple heterogeneous GPUs using shared heaps. In this sample, a large number of triangles are rendered to an intermediate render target on one GPU, then a second GPU performs a blur, and presents it to the screen.
519

620
## Requirements
721
This sample is designed to run on a system with more than one GPU. This sample particularly targets hybrid laptops with a high performance discrete GPU and a lower performance integrated GPU.
822

9-
For demonstration purposes, this sample will also run on a system with a single GPU and will use the software WARP adapter as the second GPU. You will need to install the "Graphics Tools" feature to make the DirectX 12 WARP rasterizer available. This can be done either by pressing ALT+F5 in Visual Studio (which launches the Graphics Debugger and automatically installs the feature if it is not available), or by navigating to the "Manage Optional Features" page in the Settings app and manually adding it from there. It should be noted, however, that the sample puts the primary workload on the adapter that is not connected to the display - which happens to be the WARP adapter - so it will actually run slower in this configuration than if there was no secondary adapter used at all.
23+
For demonstration purposes, this sample will also run on a system with a single GPU and will use the software WARP adapter as the second GPU. You will need to install the **Graphics tools** feature to make the DirectX 12 WARP rasterizer available. This can be done either by pressing ALT+F5 in Visual Studio (which launches the Graphics Debugger, and automatically installs the feature if it is not available), or by navigating to the **Manage optional features** page in the Windows **Settings** app, and manually adding it from there. It should be noted, however, that the sample puts the primary workload on the adapter that is not connected to the display&mdash;which happens to be the WARP adapter&mdash;so it will actually run slower in this configuration than if there was no secondary adapter used at all.
1024

1125
### Optional Features
12-
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.
26+
This sample has been updated to build against the Windows 10 Anniversary Update SDK. In this SDK a new revision of Root Signatures is available for Direct3D 12 apps to use. Root Signature 1.1 allows for apps to declare when descriptors in a descriptor heap won't change or the data descriptors point to won't change. This allows the option for drivers to make optimizations that might be possible knowing that something (like a descriptor or the memory it points to) is static for some period of time.

0 commit comments

Comments
 (0)