Questions tagged [directx12]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
1
vote
0answers
41 views

DX12 Debug Layer doesn't output detailed error information

When I use the CreateGraphicsPipelineState function in DX12, there's an error "E_INVALIDARG One or more arguments are invalid." returned by the function, but there isn't detailed information ...
1
vote
1answer
57 views

Mesh-Shader and layered rendering

In the usual pipeline (vertex, tessellation, geometry and fragment shaders) the geometry can be deformed and in the geometry shader it is possible to copy the generated and deformed geometry in order ...
0
votes
1answer
64 views

Generate Hi-Z buffer using single PSO and single UAV

I'm currently implementing SSR in my engine and I've created Hi-Z buffer using multiple PSOs in way presented below: Create descriptor table with multiple UAV entries (this case - 3 entries for Mip 0,...
0
votes
0answers
21 views

DO states carry forward between Draw calls?

If I am setting Fast Clear related state for Draw Call 1 then does it carry forward to the following draw calls as well? Follow up question- how about between different batch buffers? "Working in ...
1
vote
1answer
75 views

Objects in depth buffer are always black (0.0)

My problem is exactly what titles and screenshot below says - rendered object depth value is 0.0 in depth buffer. I'm using DirectX 12. Matrices: ...
0
votes
0answers
84 views

Weird PIX behavior with DXC

Recently I've switched from FXC to DXC to compile shader model 6.0. It compiles well without errors (and runs well) but I can't debug shaders because on my netbook PIX says "failed to load PDB ...
0
votes
0answers
32 views

D3D12_HEAP_FLAGS argument of ID3D12Device::CreateCommittedResource

Why does ID3D12Device::CreateCommittedResource require a D3D12_HEAP_FLAGS argument similar to ...
2
votes
0answers
41 views

CBV, IBV and VBV byte alignment

The CBV (constant buffer view) SizeInBytes is required to be 256-byte aligned. Should the associated ID3D12Resource have a ...
1
vote
1answer
166 views

Unbound descriptor tables and descriptors for fat root signatures

Unbound descriptor tables If a D3D12_VERSIONED_ROOT_SIGNATURE_DESC defines N D3D12_ROOT_PARAMETERs (with ...
1
vote
1answer
150 views

Path tracing - cannot converge diffuse sampling + oversaturation

I'm in process of creating progressive path tracer using DX12 + DXR. I managed to create working raytracing code + pathtracing code with multiple bounces but I'm experiencing problems stated below (...
1
vote
1answer
68 views

Worsening sampling quality of raytracing with increasing distance from world origin

I am using RT shader (DXR) to generate g-buffers with code below. There was no problems with smaller scene (pink room from cwyman tutorial - http://cwyman.org/code/dxrTutors/tutors/Tutor5/tutorial05....
3
votes
2answers
387 views

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. ...
3
votes
0answers
76 views

Global root signature crash

I have a problem with RTPSO creation. Using local root signatures for each of rgs (ray generation shader), chs (closest hit), miss is working correctly. However, for performance sake, I want to use ...
0
votes
1answer
81 views

Hit group - export already defined

I am getting this error when creating RTPSO with multiple hit groups: ...
1
vote
1answer
52 views

Texture value clamped to 1

I am working on ray/path-tracer using DXR and I'm starting with simple AO. In first pass, I am storing normal value and RayTCurrent(): ...
2
votes
0answers
176 views

Corrupt values when writing and reading from the same RWTexture2D in HLSL/DirectX?

I'm playing around with DirectX 12 ray tracing, and I'm trying to read and write data to a 32-bit RGBA floating point RWTexture2DArray within a DirectX 12 HLSL shader. I'm getting weird corruption/...
1
vote
1answer
381 views

DXC error when compiling PSO

I am trying to compile some really simple shaders with DXC but, when creating PSO, I get: ...
3
votes
1answer
490 views

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 ...
2
votes
0answers
131 views

Difference between Passing Instance Data to Vertex Shader methods

I see two kinds of passing Instance Data to Vertex Shader in different Examples. 1 .Using a Uniform Buffer and filling in an array, like below ...
2
votes
0answers
25 views

Should I use common resource bindings across all my shaders in HLSL/D3D12?

Will unaccessed bindings consume cache or bandwidth? I want to improve cache usage by splitting the per-path information in my renderer across different resources, but I also want to keep my binding ...
6
votes
0answers
470 views

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 ...
2
votes
1answer
236 views

Is it possible to bind dynamic texture samplers to a shader in DX12?

So usually texture samplers are set directly in the D3D12_ROOT_SIGNATURE_DESC structure in DX12, at least that's how I've been setting them. I was wondering if it's ...
1
vote
1answer
217 views

How can I control memory for command allocators and command queues in D3D12?

The D3D12 programming guide suggests specific allocation strategies for command queues and allocators, but the creation methods for those objects operate directly on queue/allocator pointers without ...
2
votes
1answer
111 views

Is there an analogue of OpenGL's ImageLoadStore in DirectX 12?

I'm trying to port part of an OpenGL program into an existing DirectX 12 software, at some point in their shaders they use OpenGL ImageLoadStore in order to store information in 3D Textures without ...
4
votes
1answer
320 views

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 ...
1
vote
2answers
495 views

Writing data to a shader resource at runtime in DX12

I'm hoping to port my existing toy raytracer to a window so that I can see samples accumulate over time. And then port over to Pixar's pmj02: https://graphics.pixar.com/library/...
1
vote
0answers
112 views

D3D12EnableExperimentalFeatures causes D3D12CreateDevice to fail

I am following Nvidia's DXR tutorial: D3D12HelloTriangle. I call below code before creating device and it returns true ...
1
vote
1answer
670 views

DirectX 12: Uploading multiple buffers to 1 default heap using the UpdateSubresources API without explicit copies

Consider a situation where there are 3 different buffers describing a particular mesh piece: vBuffer, nBuffer, ...
0
votes
1answer
516 views

Do we really need a fence event?

One of the hardest things for me with the modern closer to the metal graphics APIs is understanding synchronization. I usually try to simplify things in order to understand the concept better. In ...
3
votes
1answer
154 views

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 ...
4
votes
2answers
2k views

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?
1
vote
1answer
2k views

Readback Data through Buffers

I am pretty new to the dx12 world. As a sample project I am trying to add 2 buffers and store the output in yet another output buffer. As apart of this debugging I am trying to see if the buffers that ...
1
vote
1answer
192 views

DX12 compute signature

Can i have a root signature with 3 root parameters all being of the UAV type? Because what I am trying to do is, add two buffers and put the output of that in a output buffer. In the following ...
1
vote
1answer
347 views

Compute Shader PSO Dx12

I am new to the DX12 world and I am currently trying to tweak the nbody_gravity DX12 sample, but appending or calling another Compute Shader which is to add 2 buffers to produce an output in a ...
8
votes
2answers
3k views

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 ...
2
votes
1answer
139 views

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 ...
5
votes
1answer
4k views

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 ...
7
votes
1answer
794 views

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 ...
3
votes
1answer
4k views

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. ...
4
votes
1answer
813 views

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. ...
12
votes
1answer
3k views

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 ...
22
votes
3answers
899 views

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 ...