Merge remote-tracking branch 'public/master' into vulkan
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 1 Apr 2016 21:59:38 +0000 (14:59 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 1 Apr 2016 22:16:21 +0000 (15:16 -0700)
13 files changed:
1  2 
src/compiler/Makefile.sources
src/compiler/glsl/glsl_parser_extras.cpp
src/compiler/glsl/standalone_scaffolding.cpp
src/compiler/nir/Makefile.sources
src/compiler/nir/glsl_to_nir.cpp
src/compiler/nir/nir.h
src/compiler/nir/nir_opt_algebraic.py
src/compiler/shader_enums.h
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
src/mesa/main/mtypes.h

index 43377f18ad83518561e0fa7da38406b49ee0b43a,0aee2006902a1be2b7b991231dba340a9dcd7489..120ef2935a7fe729acf727d793cac0a592432ac6
@@@ -176,13 -176,12 +176,13 @@@ NIR_FILES = 
        nir/nir_control_flow_private.h \
        nir/nir_dominance.c \
        nir/nir_from_ssa.c \
 +      nir/nir_gather_info.c \
        nir/nir_gs_count_vertices.c \
        nir/nir_inline_functions.c \
-       nir/nir_intrinsics.c \
-       nir/nir_intrinsics.h \
        nir/nir_instr_set.c \
        nir/nir_instr_set.h \
+       nir/nir_intrinsics.c \
+       nir/nir_intrinsics.h \
        nir/nir_liveness.c \
        nir/nir_lower_alu_to_scalar.c \
        nir/nir_lower_atomics.c \
index a876eff289af24d60324b0ed219280852c8a93db,347430245519f2abf40a6bf9ab071f2688b23c04..e6367d9c28234c4dff68906030e46534cd4f2975
@@@ -19,13 -19,12 +19,13 @@@ NIR_FILES = 
        nir_control_flow_private.h \
        nir_dominance.c \
        nir_from_ssa.c \
 +      nir_gather_info.c \
        nir_gs_count_vertices.c \
        nir_inline_functions.c \
-       nir_intrinsics.c \
-       nir_intrinsics.h \
        nir_instr_set.c \
        nir_instr_set.h \
+       nir_intrinsics.c \
+       nir_intrinsics.h \
        nir_liveness.c \
        nir_lower_alu_to_scalar.c \
        nir_lower_atomics.c \
Simple merge
Simple merge
index 2e9cd5fcc94d797d1277c88272a26a16af8c648d,e72b4a791cb052fb9e3518ba36d909c2761a28ff..ddfe94d9e7324f75157a6084b00db9ec66048178
@@@ -270,9 -270,12 +271,13 @@@ optimizations = 
     (('fabs', ('fsub', 0.0, a)), ('fabs', a)),
     (('iabs', ('isub', 0, a)), ('iabs', a)),
  
+    # Propagate negation up multiplication chains
+    (('fmul', ('fneg', a), b), ('fneg', ('fmul', a, b))),
+    (('imul', ('ineg', a), b), ('ineg', ('imul', a, b))),
     # Misc. lowering
     (('fmod', a, b), ('fsub', a, ('fmul', b, ('ffloor', ('fdiv', a, b)))), 'options->lower_fmod'),
 +   (('frem', a, b), ('fsub', a, ('fmul', b, ('ftrunc', ('fdiv', a, b)))), 'options->lower_fmod'),
     (('uadd_carry', a, b), ('b2i', ('ult', ('iadd', a, b), a)), 'options->lower_uadd_carry'),
     (('usub_borrow', a, b), ('b2i', ('ult', a, b)), 'options->lower_usub_borrow'),
  
Simple merge
Simple merge