Skip to content

Prefer supports_descriptor_buffer over feature check - #157

Open
DiscoStarslayer wants to merge 1 commit into
Themaister:masterfrom
DiscoStarslayer:fix/arc-descriptor-tables
Open

DiscoStarslayer wants to merge 1 commit into
Themaister:masterfrom
DiscoStarslayer:fix/arc-descriptor-tables

Conversation

@DiscoStarslayer

Copy link
Copy Markdown

A user of mine was experiencing random crashes with a Intel Arc B580 on Parallel-GS: DiscoStarslayer/pcsx2-reliquary#42

Spent a bunch of time going back and forth with them and narrowed down the fix to this change.

Essentially, the GPU reports that it supports descriptor buffers, however, Granite marks the descriptor buffers on this GPU as disabled because the Intel Arc B580 GPU does not support combinedImageSamplerDescriptorSingleArray.

memory_allocator.cpp and shader.cpp check the GPU's descriptor buffer support instead of checking if Granite has decided to use the GPU's descriptor buffer or not.

Because the buffers were not setup on ARC, this was causing random heap corruption and was tricky to nail down.

@loganmc10

Copy link
Copy Markdown
Contributor

I have had the same issue. I thought it was related to Android support for descriptor buffers, so I have been disabling it on Android altogether (https://github.com/gopher64/parallel-rdp/blob/dd012f5651b16b311417cd9e664ae54c056ae6d2/patches/android.patch), but I think this is the root cause.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants