mesa/src
Timothy Arceri 1edc53a66b glsl: fix opt_minmax redundancy checks against baserange
Marking operations as redundant if they are equal to the base
range is fine when the tree structure is something like this:

        max
      /     \
     max     b
    /   \
   3    max
       /   \
      3     a

But the opt falls apart with a tree like this:

        max
     /       \
    max     max
   /   \   /   \
  3    a   b    3

The problem is that both branches are treated the same: descending in
the left branch will prune the constant, and then descending the right
branch will prune the constant there as well, because limits[0] wasn't
updated to take the change on the left branch into account, and so we
still get [3,\infty) as baserange.

In order to fix the bug we just disable the marking of redundant expressions
when they match the baserange.

NIR algebraic opt will clean up the first tree for anyway, hopefully
other backends are smart enough to do this also.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-01-07 21:46:36 +11:00
..
amd radv: fix depth transitions with layerCount = VK_REMAINING_ARRAY_LAYERS 2017-01-07 01:26:08 +01:00
compiler glsl: fix opt_minmax redundancy checks against baserange 2017-01-07 21:46:36 +11:00
egl egl: Emit correct error when robust context creation fails 2016-12-27 10:21:29 -08:00
gallium gallium/radeon: use the internal clear_buffer callback to fix r600g 2017-01-06 23:32:25 +01:00
gbm gbm: request correct version of the DRI2_FENCE extension 2016-11-22 15:56:44 +00:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx dri3: Fix MakeCurrent without a default framebuffer 2017-01-05 20:52:01 +01:00
gtest Introduce .editorconfig 2016-08-31 17:06:54 -07:00
hgl glapi/hgl: remove the final user of _glapi_check_table() 2016-10-06 15:03:46 +01:00
intel anv/formats: Use the real format for B4G4R4A4_UNORM_PACK16 on gen8 2017-01-06 16:44:15 -08:00
loader loader: automake: whitespace cleanup 2016-11-21 14:46:40 +00:00
mapi glapi: add missing INTEL_conservative_rasterization 2016-12-13 16:27:56 +00:00
mesa i965/compiler: Use the new nir_opt_copy_prop_vars pass 2017-01-06 16:44:29 -08:00
util util: import CRC32 implementation from gallium 2016-11-22 18:05:51 +01:00
vulkan/wsi vulkan/wsi/x11: don't crash on null wsi x11 connection 2016-12-22 14:09:46 -08:00
Makefile.am amd: flatten amd/common makefile structure 2016-11-15 20:04:37 +00:00
SConscript