Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20724 Discussions

D3D11 ClearUnorderedAccessView failure with 4 channel view of buffer.

Customer__Intel1
Beginner
1,349 Views

Hello,

Whilst testing our own render abstraction, I discovered that ClearUnorderedAccessView doesn't appear to work correctly.

When creating a 16 byte buffer, and a UAV of format R32G32B32A32_UINT, clearing it with "0x80808080, 0x80800000, 0x80008000, 0x80000080" results in "0x80808080, 0x80808080, 0x80808080, 0x80808080" being written to the buffer.

When creating a 16 byte buffer, and a UAV of format R32G32B32A32_FLOAT, clearing it with "0.5, 0.5, 0.25, 0.125" results in "0.5, 0.5, 0.5, 0.5" being written to the buffer.

Testing on HD 530, and appears to be a D3D11 only problem as there is no problem on D3D12. Also tested on both AMD and NVIDIA cards, works fine there, hence why I suspect it may be a problem in the driver.

Thanks,
Neil

0 Kudos
4 Replies
Michael_C_Intel2
Employee
1,349 Views

Hi Again Neil,

Like you other post can you fill in the template below and provide any samples to help replicate the issue? Thanks.

-Michael

Hi Neil,

Can you fill in the below template for me. It will give me all the info I need when I work with the driver team to investigate the problem. Also if you have sample or code that would be helpful, anything to helps us replicate the issue. 

Thanks

-Michael

System Setup Information:
-----------------------------------------

System Used: (Manufacturer/Model)
CPU SKU: (i3, i5, Pentium, Celeron, etc.)
GPU SKU: (HD4400, HD5100, etc.)
Processor Line: (Y-Series, U-Series, etc.)
System BIOS Version:
CMOS settings:
Graphics Driver Version:
GOP/VBIOS Version:
Operating System:
OS Version:
API:
Occurs on non-Intel GPUs?:

Steps to Reproduce:
-------------------------------
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Expected Results:
-------------------------------

Actual Results:
-------------------------------

Additional Information:

0 Kudos
Baldur_K_
Beginner
1,349 Views

I was also repro'ing this bug (since Neil was hitting a renderdoc crash in this area) and reporting another issue I ran into separately. So here's the details from my experience which matches Neil's, and a small repro project.

-----------------------------------------

System Used: Intel NUC NUC5i5RYH
CPU SKU: i5-5250U
GPU SKU: HD Graphics 6000
Processor Line: Not sure what this is honestly
System BIOS Version: Can check later if relevant
CMOS settings: Can check later if relevant
Graphics Driver Version: 15.40.25.4463
GOP/VBIOS Version: Can check later if relevant
Operating System: Windows
OS Version: Windows 10 64-bit
API: D3D11
Occurs on non-Intel GPUs?: No

Steps to Reproduce:
-------------------------------
1. Create a buffer with format DXGI_FORMAT_R32G32B32A32_UINT of 16 bytes (enough for one element)
2. Create a UAV of the buffer.
3. Clear the UAV with an array of { 100, 101, 102, 103 }
4. Copy the original buffer to a staging buffer and readback to CPU
5. The contents are { 100, 100, 100, 100 }

Expected Results:
-------------------------------

The bits from the clear value should be applied directly, so for a R32G32B32A32 format it should be an exact copy.

Actual Results:
-------------------------------

The values read back seem to only use the first value and propagate it across the whole element.

Additional Information:

I've attached a sample project which reproduces the bug. The source is fairly stripped down, around ~200 lines without shaders. There's also a pre-compiled exe to run. It follows the repro steps above exactly and prints out a message as to whether or not the buffer values match what is expected (exactly the clear value in this case).

btw the code also contains a bug repro for another issue which I've just posted - so you can ignore the code inside stencil_read_test() and any of the texture code. I just re-used the same code skeleton for both.

Hopefully this is clear enough - let me know if you need more information.

0 Kudos
Customer__Intel1
Beginner
1,349 Views

Thanks Baldur, your test case nicely repros on my machine too.

 

For completeness:
-----------------------------------------

System Used: Gigabyte Z170-HD3-CF
CPU SKU: i7-6700
GPU SKU: HD Graphics 530
Processor Line: Not sure what this is either.
System BIOS Version: F6
CMOS settings: Can check later if relevant
Graphics Driver Version: 20.19.15.4463
GOP/VBIOS Version: Can check later if relevant
Operating System: Windows
OS Version: Windows 10 64-bit
API: D3D11
Occurs on non-Intel GPUs?: No

Steps to Reproduce:
-------------------------------
As in Baldur's reply.

Actual Results:
-------------------------------

As in Baldur's reply.


 

0 Kudos
Michael_C_Intel2
Employee
1,349 Views

Hi Neil and Baldur,

Thanks for filling in the template. I have talked to the driver team and filed a report. I will update you when I learn anything

-Michael 

0 Kudos
Reply