IASetIndexBuffer Error

Started by
8 comments, last by kretash 8 years, 3 months ago

Hello,

I started getting the following error in my project:

D3D12 ERROR: ID3D12CommandList::IASetIndexBuffer: pDesc->BufferLocation + SizeInBytes - 1 (0x000000020514a4cb) exceeds end of the virtual address range of Resource (0x0000000000000000, Debug Name: '(nullptr)', GPU VA Range: 0x0000000204e5d000 - 0x0000000204e6cfff). This is OK as out of bounds access is guarded by the GPU (writes are discarded and reads return 0). However the developer probably did not intend to make use of this behavior. [ STATE_CREATION ERROR #725: SET_INDEX_BUFFER_INVALID]

The error came out of nowhere as I wasn't touching that part of the project. I decided to execute one of the sample projects ( D3D12Multithreading ) and it was getting the same error. Both projects work well. I'm guessing this was part of the driver update? What does it mean?

Thanks.

Advertisement

Do you mean the D3D12 samples throw this error unmodified? Maybe toss an issue at their github if that's the case. It's usually because the parameters in D3D12_INDEX_BUFFER_VIEW are incorrect. The buffer is too small or the range is too large.


What does it mean?

It's basically like an array out of bounds error. You say it started happening out of nowhere? And whats this about drivers?

-potential energy is easily made kinetic-

So it's saying the virtual address supplied by your index buffer view is outside the range of the resource to which that address belongs to. However it lists the address of the resource as 'nullptr', which is peculiar. Is there any chance that perhaps you're already destroyed the resource containing your index buffer?


Do you mean the D3D12 samples throw this error unmodified? Maybe toss an issue at their github if that's the case. It's usually because the parameters in D3D12_INDEX_BUFFER_VIEW are incorrect. The buffer is too small or the range is too large.

Yes, the error appeared in my code and it was also present in a sample that was working well and had no error messages. I'm gonna open a ticket.


And whats this about drivers?

It just came out of no where in both my code and the unmodified samples code, so I guessed that it must have come with the new drivers. Not sure, just a guess.


Is there any chance that perhaps you're already destroyed the resource containing your index buffer?

The index buffer is live. I'm updating it in between frames, don't know if that could be part of the issue.

I seem to get similar errors after i applied visual studio 2015 update 1.

I add myself to the list: similar errors (IASetVertexBuffers and IASetIndexBuffer) after visual studio and drivers updates. It's a relief that I'm not the only one, though.

Microsoft engineer here. I've reported this to where it'll get investigated and I/they will let you know the outcome.

Adam Miles - Principal Software Development Engineer - Microsoft Xbox Advanced Technology Group

Microsoft engineer here. I've reported this to where it'll get investigated and I/they will let you know the outcome.


Thank you very much!

The cause might have to do with the Nvidia drivers, a bug report was sent.

https://github.com/Microsoft/DirectX-Graphics-Samples/issues/76#issuecomment-170174144

This topic is closed to new replies.

Advertisement