diff options
author | Danylo Piliaiev <[email protected]> | 2018-07-20 12:54:42 +0300 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2018-10-30 12:59:53 -0700 |
commit | 00fc56a68d21d7aa91b95f0eaacba59a96c466f5 (patch) | |
tree | 9eb37e00be0650684b871ac6a80dc53cda03ae97 /src/gallium/drivers/r600/radeon_video.c | |
parent | eca4a6548d07bbbb02a7768edb397bad7b72cfc2 (diff) |
anv: Disable dual source blending when shader doesn't support it on gen8+
Dual source blending behaviour is undefined when shader doesn't
have second color output.
"If SRC1 is included in a src/dst blend factor and
a DualSource RT Write message is not used, results
are UNDEFINED. (This reflects the same restriction in DX APIs,
where undefined results are produced if “o1” is not written
by a PS – there are no default values defined)."
Dismissing fragment in such situation leads to a hang on gen8+
if depth test in enabled.
Since blending cannot be gracefully fixed in such case and the result
is undefined - blending is simply disabled.
v2 (Jason Ekstrand):
- Apply the workaround to each individual entry
- Emit a warning through debug_report
Signed-off-by: Danylo Piliaiev <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/radeon_video.c')
0 files changed, 0 insertions, 0 deletions