Questions tagged [directx12]
The directx12 tag has no usage guidance.
52
questions
0
votes
0
answers
21
views
How to use unbound descriptor range properly in descriptor tables
I am trying to use 2 "D3D12_DESCRIPTOR_RANGE" in a root descriptor table,defined as follows:
...
4
votes
1
answer
157
views
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 ...
0
votes
0
answers
24
views
Clip Space View Frustrum Culling Not Working Properly
I don't understand why this happening. I included the code that I am using to check if a vertex is inside the view frustum.
...
0
votes
1
answer
101
views
Am I creating my raygeneration shader correctly
Hi I want to create a ray generation shader which traces rays inside a box frustum given by an Orthographic projection matrix(XMMatrixOrthographicLH) I use the following ray generation shader code:
<...
0
votes
0
answers
48
views
When do we need Dx12 Descriptors to be contiguous?
In many tutorials and examples code of DirectX 12 we can find ways to manage descriptors by creating a few descriptor heaps and allocating manually descriptors inside of them
(e.g. in Mini Engine the <...
1
vote
0
answers
91
views
Does WebGPU Have Significant Feature/Functionality Gaps As Compared to Vulkan/DirectX12/Metal?
A friend and I are considering using webgpu native (more specifically C++ bindings) for a project. We were wondering, since WebGPU likely runs on top of Vulkan XOR DirectX12 XOR Metal at any given ...
3
votes
1
answer
230
views
What's different between D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE and D3D12_CPU_PAGE_PROPERTY_WRITE_BACK, and why they're named like that?
Direct3D 12 Programming Guide section "Descriptor Heap Configurability Summary" lists different "CPU Page Properties Supported" for Shader Visible and Non Shader Visible Descriptor ...
1
vote
1
answer
645
views
what is the range for NDC coordinates to be visible in directx
Hi I have a confusion in dx pipeline what is the range for a vertex to be visible?
Generally for a vertex to be visible vertex shader position output must be within -1 to 1 for both x & y ...
1
vote
0
answers
67
views
Imprecise TEXCOORD interpolation of a screen quad in DirectX
I was debugging with RenderDoc an issue on an app based on Directx11 and 12 that draw screen space quads to perform various baking steps. These baking steps just render a quad in clip space without ...
1
vote
1
answer
255
views
How Anisotropic filtering works
I would like to understand how anisotripic filtering works in gpu.
Specifically what is the minimum state in which the texture needs to be in for anisotropic filtering to work.
by state of the texture ...
1
vote
2
answers
309
views
what is the output from rasterizer
what exactly does the rasterizer outputs as per my knowlage it outputs primitives rasterized as fragments which seems correct as the next step in vulkan/opengl is fragment shader but dx confuses me ...
1
vote
1
answer
607
views
mipmap selection process
I wished to understand which mip map in the chain of mips is selected upon sampling a texture.Which factors it depends on.I know that it depends on the area of the texture visible.
I tried a simple ...
1
vote
0
answers
615
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
1
answer
250
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
1
answer
327
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,...
1
vote
1
answer
247
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
0
answers
311
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 ...
2
votes
0
answers
119
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
1
answer
449
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
1
answer
299
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
1
answer
91
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
2
answers
1k
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
0
answers
157
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
1
answer
117
views
Hit group - export already defined
I am getting this error when creating RTPSO with multiple hit groups:
...
1
vote
1
answer
63
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
0
answers
341
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/...
2
votes
1
answer
1k
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
1
answer
861
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 ...
6
votes
1
answer
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 ...
2
votes
0
answers
187
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
1
answer
396
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 ...
2
votes
0
answers
29
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
0
answers
711
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 ...
1
vote
1
answer
295
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
1
answer
159
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
1
answer
437
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
2
answers
748
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
0
answers
151
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
...
23
votes
3
answers
1k
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 ...
1
vote
1
answer
1k
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
1
answer
621
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
1
answer
182
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
2
answers
3k
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
1
answer
416
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 ...
2
votes
1
answer
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
1
answer
237
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 ...
8
votes
2
answers
4k
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 ...
8
votes
1
answer
885
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
1
answer
157
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 ...
14
votes
1
answer
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 ...