mesa/src
Ian Romanick 9342c14eeb nir/builder: Emit x != 0 for nir_i2b
There are a lot of optimizations in opt_algebraic that match ('ine', a,
0), but there are almost none that match i2b.  Instead of adding a huge
pile of additional patterns (including variation that include both ine
and i2b), just emit a != 0 instead of i2b(a).

I think that the changes to the unit tests weaken them slightly, but
perhaps that's okay?

No shader-db changes on any Intel platform.  The GLSL paths use other
means to generate i2b operations, but the SPIR-V paths use nir_i2b.
Presumably since 4676b3d3dd (nir: Use nir_test_mask instead of
i2b(iand)), no fossil-db changes either.

v2: Use nir_ine_imm.  Suggested by Jesse.

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15121>
2022-12-14 06:23:21 +00:00
..
amd nir: Use nir_i2b wrapper everywhere instead of using nir_i2b1 directly 2022-12-14 06:23:21 +00:00
android_stub
asahi asahi: Model alignment of occlusion query indices 2022-12-10 21:51:04 -05:00
broadcom v3dv: skip some invalid tests 2022-12-14 01:59:00 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler nir/builder: Emit x != 0 for nir_i2b 2022-12-14 06:23:21 +00:00
drm-shim drm-shim: add __readlink_chk as readlink with overflow check 2022-12-08 21:05:15 +00:00
egl gallium: rename st_framebuffer_iface -> pipe_frontend_drawable, etc. 2022-12-09 13:14:03 +00:00
etnaviv tree-wide: Use __func__ instead of __FUNCTION__ in non-gallium code 2022-11-22 06:53:46 +00:00
freedreno nir: Use nir_i2b wrapper everywhere instead of using nir_i2b1 directly 2022-12-14 06:23:21 +00:00
gallium gallium/pp: typedef and use pp_st_invalidate_state_func to avoid cast 2022-12-14 05:47:52 +00:00
gbm gbm: Don't look up the DRI2_FENCE extension. 2022-12-09 05:32:18 +00:00
getopt
glx glx: fix xshm check to init xshm_opcode. 2022-12-06 22:31:14 +00:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination pvr: Check depth/stencil attachment is tile-aligned 2022-12-08 14:53:13 +00:00
imgui
intel intel: Allow CCS_E on R11G11B10_FLOAT for TGL+ 2022-12-14 03:05:24 +00:00
loader dri: Introduce internal Mesa DRI driver loader extension. 2022-12-05 19:26:41 +00:00
mapi mapi: update gles 1.1 extention packet link 2022-11-20 15:14:01 +00:00
mesa mesa: move the _mesa_set_varying_vp_inputs call to where the state changes 2022-12-12 19:15:34 +00:00
microsoft nir: Use nir_i2b wrapper everywhere instead of using nir_i2b1 directly 2022-12-14 06:23:21 +00:00
nouveau drm-shim/nouveau: fix the shim to work with nvif ioctl. 2022-11-09 21:21:22 +00:00
panfrost panvk: Delete panvk_CmdSetDeviceMask, panvk_GetDeviceGroupPeerMemoryFeatures 2022-12-09 14:08:14 -06:00
tool pps: make pps-producer RT only on freedreno 2022-11-15 21:21:42 +00:00
util radv: Force non uniform texture sampling with NV Remix 2022-12-12 18:18:32 +00:00
virtio ci: Bump virglrenderer version 2022-12-12 15:49:08 +00:00
vulkan vk/descriptor_set_layout: Add optional destructor 2022-12-12 17:38:19 +00:00
meson.build meson: build radeon drm-shim also for r300 and r600 2022-11-16 14:37:47 +00:00