mesa/src/compiler
Caio Marcelo de Oliveira Filho 8a995f2b5e nir: Fix nir_opt_idiv_const when negatives are involved
First, allow the case for negative powers of two.  Then ensure that we
use the absolute value of the non-constant value to calculate the
quotient -- this was hinted in the code by the name 'uq'.

This fixes an issue when 'd' is positive and 'n' is negative.  The
ishr will propagate the negative sign and we'll use nir_ineg() again,
incorrectly.

v2: First version used only ishr, but that isn't sufficient, since it
    never can produce a zero as a result.  (Jason)
    Allow negative powers of two.  (Caio)

Fixes: 74492ebad9 "nir: Add a pass for lowering integer division by constants"
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2019-05-16 10:55:03 -07:00
..
glsl compiler: Add lowering support for 64-bit saturate operations to software 2019-05-15 23:30:30 +00:00
nir nir: Fix nir_opt_idiv_const when negatives are involved 2019-05-16 10:55:03 -07:00
spirv spirv/cl: support vload/vstore 2019-05-04 12:27:51 +02:00
Android.glsl.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.glsl.mk android: glsl: build shader cache sources 2017-02-20 16:30:37 +00:00
Android.mk Android: glsl: add rules to generate ir_expression*.h header files 2016-09-06 15:58:55 +01:00
Android.nir.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
blob.c compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
blob.h compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp compiler/glsl: handle case where we have multiple users for types 2019-04-16 12:58:00 +03:00
glsl_types.h compiler/glsl: handle case where we have multiple users for types 2019-04-16 12:58:00 +03:00
Makefile.sources nir: implement lowering for fsin and fcos 2019-05-07 15:25:21 +00:00
meson.build meson: Build with Python 3 2018-08-10 15:15:09 -07:00
nir_types.cpp nir: fix a few signed/unsigned comparison warnings 2019-03-25 06:51:31 -06:00
nir_types.h nir: move gls_type_get_{sampler,image}_count() 2019-03-21 09:13:05 -04:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl scons: Generate float64_glsl.h for glsl_to_nir fp64 lowering 2019-03-02 14:33:44 -08:00
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c compiler: rename SYSTEM_VALUE_VARYING_COORD 2019-04-25 14:13:31 -07:00
shader_enums.h compiler: Add enums for blend state 2019-05-10 15:49:01 +00:00
shader_info.h spirv: add missing SPV_EXT_descriptor_indexing capabilities 2019-04-30 09:22:45 +02:00