Closed Bug 1692355 Opened 3 years ago Closed 3 years ago

Allow ANGLE glBlitFramebuffer implementation to handle renderbuffers without D3D11_BIND_SHADER_RESOURCE in some cases.

Categories

(Core :: Graphics, task)

task

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox87 --- fixed

People

(Reporter: gw, Assigned: gw)

References

Details

Attachments

(1 file, 1 obsolete file)

No description provided.

In some cases, it's possible to have an FBO that has a color target
renderbuffer attachment that does not have D3D11_BIND_SHADER_RESOURCE
set on the underlying D3D resource. For example, this can occur
when a DirectComposition surface texture is bound to an FBO via the
GL_OES_EGL_image extension.

When this occurs, the D3D11 implementation of glBlitFramebuffer
can assert and fail, because it's not possible to get the readSRV
for the underlying resource.

However, under certain conditions, the implementation of
blitRenderbufferRect hits a fast path, using CopySubresourceRegion
which doesn't rely on having a valid readSRV.

This patch delays the allocation and assertions related to
readSRV until it's determined that the fast path cannot be used.

This allows glBlitFramebuffer to work for these kinds of resources
so long as the conditions for the fast path are hit.

Blocks: 1684781
Assignee: nobody → gwatson
Status: NEW → ASSIGNED
Attachment #9202735 - Attachment is obsolete: true
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/68a46b7ab6e9
[angle] Don't assert for non-sampleable non-ms sources in blitRenderbufferRect if we can CopySubResource. r=gw
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: