mesa/src
Bas Nieuwenhuizen 5e7ee64037 radv: Do not set SX DISABLE bits for RB+ with unused surfaces.
The extra bits in CB_SHADER_MASK break dual source blending in
SkQP on a Stoney device. However:

- As far as I can tell, some other dual source blend tests are passing
  before and after the change.
- A hacked around skqp passes on my Vega desktop and Raven laptop
- Getting Skqp to give any useful info or to run it outside of Android
  on ChromeOS is proving difficult.

I have confirmed 3 strategies that seem to work:
- The old radv behavior of setting CB_SHADER_MASK to 0xF
- AMDVLK: CB_SHADER_MASK = 0xFF, and the 3 RB+ regs
  are 0.
- radeonsi: CB_SHADER_MASK = 0xFF, but does not set DISABLE
  bits in SX_BLEND_OPT_CONTROL for CB 1-7.

Let us use the radeonsi solution as that solution also seems like the correct
thing to do for holes. I have tested on my Raven laptop that setting the high
surfaces to not disabled and downconvert to 32_R does not imply a performance
penalty.

Fixes: e9316fdfd4 "radv: fix setting CB_SHADER_MASK for dual source blending"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3670>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3670>
(cherry picked from commit 65a6dc5139)
2020-02-05 08:52:30 -08:00
..
amd radv: Do not set SX DISABLE bits for RB+ with unused surfaces. 2020-02-05 08:52:30 -08:00
broadcom meson/broadcom: libbroadcom_cle also needs zlib 2019-12-11 15:46:15 -08:00
compiler glsl: Fix software 64-bit integer to 32-bit float conversions. 2020-01-14 13:26:49 -08:00
drm-shim meson: replace libmesa_util with idep_mesautil 2019-08-03 00:08:37 +00:00
egl egl/android: fix buffer_count for applications setting max count 2020-01-28 08:54:25 -08:00
etnaviv util: remove LIST_IS_EMPTY macro 2019-10-28 11:24:39 +00:00
freedreno turnip: fix invalid VK_ERROR_OUT_OF_POOL_MEMORY 2020-01-28 08:54:25 -08:00
gallium winsys/amdgpu: Close KMS handles for other DRM file descriptions 2020-02-04 19:53:09 +00:00
gbm gbm: Add GBM_MAX_PLANES definition 2019-10-18 13:18:28 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx drisw: Cache the depth of the X drawable 2020-01-28 08:54:25 -08:00
gtest delete autotools .gitignore files 2019-04-29 21:17:19 +00:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui imgui: bump imgui memory editor copy 2019-06-18 15:34:13 +00:00
intel anv/blorp: Use the correct size for vkCmdCopyBufferToImage 2020-02-03 08:33:08 -08:00
loader loader: fix close on uninitialized file descriptor value 2020-01-07 09:20:49 -08:00
mapi mesa: enable ARB_gpu_shader_int64 in compat profile 2019-10-30 14:37:27 +02:00
mesa st/mesa: Handle the rest renderbuffer formats from OSMesa 2020-02-05 08:52:29 -08:00
panfrost panfrost: Remove unused definitions in mali-job.h 2019-10-29 13:02:53 +00:00
util util: Add os_same_file_description helper 2020-02-04 19:53:09 +00:00
vulkan util: rename list_empty() to list_is_empty() 2019-10-28 11:24:38 +00:00
meson.build meson: rename glvnd_missing_pc_files to not glvnd_has_headers_and_pc_files 2019-10-10 22:18:04 +01:00
SConscript