Questions tagged [directx12]
49 questions
23
votes
3 answers
Why is thread safety such a huge deal for Graphics APIs?
Both Vulkan and DirectX12 are claimed to be usable in a thread-safe manner. People seem to be excited about that.
Why is this considered such a huge feature? The "real" processing gets thrown over the memory bridge on a separate processing unit…
ratchet freak
- 5,830
- 15
- 27
13
votes
1 answer
How many Direct/Compute/Copy Queues are meaningful?
DirectX 12 exposes command queues for either graphics (called "Direct"), compute or copy tasks. In terms of provided functionality, each one is a super-set of the following one. The specification states that command queues can be executed…
Wumpf
- 843
- 7
- 15
8
votes
2 answers
What's the main difference of pipeline process between Vulkan and DX12?
DX12 introduces a new feature of pipeline named 'Bundle'. It seems that can optimize the command list, and send it to final pipeline. Vulkan invent some different pipeline: The graphic pipeline and the compute pipeline. The graphic pipeline seems…
naive231
- 189
- 1
- 3
8
votes
1 answer
DirectX12 CbvHeap
With directX12 they introduced heap descriptors. A way for us to describe the table for resources we wanted to send to the shaders. I'm admittedly very new at computer graphics and only tinkered a bit in directX11. I have not toyed with instancing…
Andrew Wilson
- 828
- 7
- 14
6
votes
0 answers
How to account for self intersection with large ray tracing scenes?
I'm working on a hybrid real time ray tracing project and trying to tackle the problem of self-intersection with larger scenes due to loss of float accuracy. The logic I'm trying to use is based on Ray Tracing Gems chapter 6 with the code bellow…
Florian Schut
- 161
- 5
6
votes
1 answer
How does DirectX 12 SLI VRAM stacking work?
Mainly talking about dual-SLI here for consistency. With past DirectX (and OpenGL) APIs, VRAM was mirrored across graphics cards. With dual-SLI, this was possible by rendering one frame with one graphics card and another frame with another one.…
aces
- 1,343
- 1
- 11
- 17
5
votes
1 answer
Dx12 Vertex Buffer incorrect
I'm playing around with directX 12 and I'm having some problems loading geometry in. I have a std::vector vertices definition and I do exactly what the dx12 template does with it.
const UINT vertexBufferSize = sizeof(vertices);
// Create the…
Andrew Wilson
- 828
- 7
- 14
4
votes
1 answer
How much does driver quality affect Vulkan and DX12 compared to OpenGL and DX11?
Considering the fact that Vulkan and DX12 delegate most of the memory management / work scheduling tasks to the application itself, how much do drivers affect performance?
To put my question into context, people on the internet talk a lot about…
mbl
- 291
- 1
- 8
4
votes
2 answers
How does ID3D12Resource::Map work?
How does Map() work? I would guess that it allocates memory to fit the resource size (or a range of it), but when are the bytes sent to the GPU?
Derag
- 596
- 2
- 11
4
votes
1 answer
DirectX 12 Constant Buffer Binding
I can't really seem to figure out how to bind two constant buffers to my shaders. I have them described like so. One in slot b0 and the other in slot b1.
cbuffer WVPData : register(b0)
{
matrix model;
matrix view;
matrix…
Andrew Wilson
- 828
- 7
- 14
3
votes
1 answer
Can D3D12 resource barriers be used to synchronize between the compute and 3D engine?
What is the best way to synchronize resource access between the (async) compute engine and the 3d engine (aka. direct engine) in D3D 12?
I found this paragraph about multi-engine synchronization on MSDN but it's not very detailed.
You can certainly…
George
- 61
- 4
3
votes
1 answer
What mechanisms are being used by Directx12 and Vulkan APIs in order to communicate with graphic card drivers internally?
I am trying and learning to develop a low level graphics API.
I want to know, how do modern graphics APIs manage to communicate with graphic card drivers (to tackle GPU) so efficiently and in an optimized manner?
Which technologies should I…
Buddhika Chaturanga
- 133
- 6
3
votes
1 answer
Hlsl - registers type
Is there any difference between registers types in hlsl?
For example when using register t0 for UAV will it be somehow precache like textures?
According to microsoft's presentation about resource in DX12 and hlsl 5.1 this registers mean nothing, but…
Derag
- 596
- 2
- 11
3
votes
0 answers
What causes buffer access to be significantly slower in DXIL than SPIR-V?
I am currently experimenting with unbounded descriptor arrays and ultimately want to use bindless descriptors. I wrote a test application, that draws 100.000 simple object instances, where the transform for each object is pulled from a buffer…
Carsten
- 131
- 4
3
votes
2 answers
Using array of textures in DX12
I managed to create code, working correctly as Texture2DArray in hlsl by using single ID3D12Resource and binding it as D3D12_SRV_DIMENSION_TEXTURE2DARRAY with constant array size.
std::pair, D3D12_SUBRESOURCE_DATA>…
DirectX_Programmer
- 473
- 3
- 12