Rob Clark [Sun, 24 Apr 2016 20:45:15 +0000 (16:45 -0400)]
freedreno/a3xx: add debug callback to emit
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Sun, 24 Apr 2016 20:42:15 +0000 (16:42 -0400)]
freedreno: wire up core pipe_debug_callback
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Mon, 25 Apr 2016 13:07:04 +0000 (09:07 -0400)]
freedreno/ir3: handle color clamp variant ourselves
Now that there is a pass to do this in NIR, lets just use that and
manage the variants ourself, rather than letting state-tracker do it.
This way, mesa/st will precompile shaders without requiring
ST_DEBUG=precompile (which requires a debug build).
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Mon, 1 Feb 2016 22:29:22 +0000 (17:29 -0500)]
nir: clamp-color-output support
Handled by tgsi_emulate for glsl->tgsi case.
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Rob Clark [Wed, 27 Apr 2016 17:53:01 +0000 (13:53 -0400)]
freedreno: fix indentation
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Marek Olšák [Thu, 28 Apr 2016 19:08:27 +0000 (21:08 +0200)]
radeonsi: fix synchronization of shader images
This fixes the winsys->cs_is_buffer_referenced query, which is used for
synchronization before buffers are mapped.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Samuel Pitoiset [Thu, 28 Apr 2016 19:09:12 +0000 (21:09 +0200)]
st/glsl_to_tgsi: fix potential crash when allocating temporaries
When index - t->temps_size is greater than 4096, allocating space for
temporaries on demand will miserably crash. This can happen when a game
uses a lot of temporaries like the recent released Tomb raider.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Kenneth Graunke [Thu, 28 Apr 2016 04:07:07 +0000 (21:07 -0700)]
glsl: Lower vector_extracts to swizzles after lower_vector_derefs.
lower_vector_derefs can produce new vector_extract operations.
Neither i965 nor st_glsl_to_tgsi can handle them, so we'd best
convert them to swizzles.
Together with the previous patch, this fixes assertion failures in
GLideN64, as well as a new Piglit test which reproduces the issue:
spec/glsl-1.10/compiler/vector-dereference-in-dereference.frag
Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95164
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Kenneth Graunke [Thu, 28 Apr 2016 03:51:36 +0000 (20:51 -0700)]
glsl: Convert lower_vec_index_to_swizzle to a rvalue visitor.
The old visitor missed some cases. For example, it wouldn't handle
an ir_dereference_array with a vector_extract as the index.
Rather than trying to add the missing cases, just rewrite it as an
ir_rvalue_visitor. This makes it easy to replace any expression,
and is much less code.
Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95164
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Thomas Faller [Fri, 29 Apr 2016 16:54:08 +0000 (10:54 -0600)]
mesa: simplify _mesa_Lightfv
Signed-off-by: Thomas Faller <tfaller1@gmx.de>
Reviewed-by: Brian Paul <brianp@vmware.com>
Nicolai Hähnle [Thu, 28 Apr 2016 20:11:42 +0000 (15:11 -0500)]
gallium/radeon: fix crash in r600_set_streamout_targets
Protect against dereferencing a gap in the targets array. This was triggered
by a test in the Khronos CTS.
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Nicolai Hähnle [Mon, 25 Apr 2016 23:20:50 +0000 (18:20 -0500)]
st/glsl_to_tgsi: reduce stack explosion in recursive expression visitor
In optimized builds, visit(ir_expression *) experiences inlining with gcc that
leads the function to have a roughly 32KB stack frame. This is a problem given
that the function is called recursively. In non-optimized builds, the stack
frame is much smaller, hence one gets crashes that happen only in optimized
builds.
Arguably there is a compiler bug or at least severe misfeature here. In any
case, the easy thing to do for now seems to be moving the bulk of the
non-recursive code into a separate function. This is sufficient to convince my
version of gcc not to blow up the stack frame of the recursive part. Just to be
sure, add the gcc-specific noinline attribute to prevent this bug from
reoccuring if inliner heuristics change.
v2: put ATTRIBUTE_NOINLINE into macros.h
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95133
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95026
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92850
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Nicolai Hähnle [Thu, 28 Apr 2016 22:03:50 +0000 (17:03 -0500)]
tgsi/text: fix parsing of memory instructions
Properly handle Target and Format parameters when present.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Nicolai Hähnle [Thu, 28 Apr 2016 21:43:10 +0000 (16:43 -0500)]
tgsi/text: add str_match_name_from_array
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Nicolai Hähnle [Thu, 28 Apr 2016 22:07:44 +0000 (17:07 -0500)]
tgsi/text: add str_match_format helper function
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Nicolai Hähnle [Thu, 28 Apr 2016 22:34:40 +0000 (17:34 -0500)]
tgsi/build: pass Memory.Texture and .Format through tgsi_build_full_instruction
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Nicolai Hähnle [Thu, 28 Apr 2016 20:51:25 +0000 (15:51 -0500)]
tgsi/dump: signal nospace when the last print exceeded the size
Previously, there was a bug where nospace wasn't signalled if it just so
happened that the very last print exceeded the available space.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Nicolai Hähnle [Thu, 28 Apr 2016 20:29:23 +0000 (15:29 -0500)]
tgsi/dump: shared dump_ctx initialization
Reviewed-by: Dave Airlie <airlied@redhat.com>
Emil Velikov [Fri, 29 Apr 2016 12:51:45 +0000 (13:51 +0100)]
st/omx: don't return early in vid_enc_EncodeFrame()
Earlier commit plugged a memory leak, although it missed a pair of
brackets. Thus we unconditionally returned even in the case of no error.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95203
Fixes: b87856d25d1 ("st/omx: Fix resource leak on OMX_ErrorNone")
Tested-by: Andy Furniss <adf.lists@gmail.com>
Acked-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---
What an embarassing bug - missing brackets. Andy can you confirm that it
resolves the issue ?
Andres Gomez [Wed, 23 Mar 2016 23:13:26 +0000 (01:13 +0200)]
glsl: Checks for interpolation into its own function.
This generalizes the validation also to be done for variables inside
interface blocks, which, for some cases, was missing.
For a discussion about the additional validation cases included see
https://lists.freedesktop.org/archives/mesa-dev/2016-March/109117.html
and Khronos bug #15671.
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Jason Ekstrand [Wed, 27 Apr 2016 18:18:04 +0000 (11:18 -0700)]
nir/algebraic: Support lowering for both 64 and 32-bit ldexp
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Jason Ekstrand [Wed, 27 Apr 2016 18:12:44 +0000 (11:12 -0700)]
nir/opcodes: Make ldexp take an explicitly 32-bit int
There is no sense in having the double version of ldexp take a 64-bit
integer. Instead, let's just take a 32-bit int all the time. This also
matches what GLSL does where both variants of ldexp take a regular integer
for the exponent argument.
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Jason Ekstrand [Wed, 27 Apr 2016 17:57:00 +0000 (10:57 -0700)]
nir/opcodes: Simplify the expressions for [un]pack_double
The new expressions are more explicit in terms of where the bits go so it's
a little easier to tell what's going on. This is the way GLSL specifies
things so it's a bit easier to verify too. It also has the benifit that
the new expressions easily vectorize so we can constant-fold vector forms
of the _split versions correctly.
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Kenneth Graunke [Tue, 26 Apr 2016 05:34:37 +0000 (22:34 -0700)]
mesa: Fix indirect draw buffer size check on 32-bit systems.
Fixes dEQP-GLES31.functional subtests:
draw_indirect.negative.command_offset_not_in_buffer_signed32_wrap
draw_indirect.negative.command_offset_not_in_buffer_unsigned32_wrap
These tests use really large values that overflow GLsizeiptr, at
which point the buffer size isn't less than "end".
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95138
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Mark Janes <mark.a.janes@intel.com>
Jason Ekstrand [Wed, 27 Apr 2016 03:34:01 +0000 (20:34 -0700)]
nir: Switch the arguments to nir_foreach_def
This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:
s/nir_foreach_def(\([^,]*\),\s*\([^,]*\))/nir_foreach_def(\2, \1)/
Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jason Ekstrand [Wed, 27 Apr 2016 03:30:10 +0000 (20:30 -0700)]
nir: Switch the arguments to nir_foreach_use and friends
This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:
s/nir_foreach_use(\([^,]*\),\s*\([^,]*\))/nir_foreach_use(\2, \1)/
and similar expressions for nir_foreach_use_safe, etc.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jason Ekstrand [Wed, 27 Apr 2016 03:26:42 +0000 (20:26 -0700)]
nir: Switch the arguments to nir_foreach_function
This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:
s/nir_foreach_function(\([^,]*\),\s*\([^,]*\))/nir_foreach_function(\2, \1)/
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jason Ekstrand [Wed, 27 Apr 2016 03:21:27 +0000 (20:21 -0700)]
nir: Switch the arguments to nir_foreach_parallel_copy_entry
This matches the "foreach x in container" pattern found in many other
programming languages.
Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jason Ekstrand [Wed, 27 Apr 2016 03:16:21 +0000 (20:16 -0700)]
nir: Switch the arguments to nir_foreach_phi_src
This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:
s/nir_foreach_phi_src(\([^,]*\),\s*\([^,]*\))/nir_foreach_phi_src(\2, \1)/
and a similar expression for nir_foreach_phi_src_safe.
Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Jason Ekstrand [Wed, 27 Apr 2016 01:34:19 +0000 (18:34 -0700)]
nir: Switch the arguments to nir_foreach_instr
This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:
s/nir_foreach_instr(\([^,]*\),\s*\([^,]*\))/nir_foreach_instr(\2, \1)/
and similar expressions for nir_foreach_instr_safe etc.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jason Ekstrand [Wed, 20 Apr 2016 04:20:26 +0000 (21:20 -0700)]
anv/lower_push_constants: fixup for nir_foreach_block()
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Jason Ekstrand [Wed, 20 Apr 2016 04:19:56 +0000 (21:19 -0700)]
anv/apply_pipeline_layout: fixup for nir_foreach_block()
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Jason Ekstrand [Wed, 20 Apr 2016 04:18:56 +0000 (21:18 -0700)]
anv/apply_dynamic_offsets: fixup for nir_foreach_block()
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Wed, 13 Apr 2016 02:56:14 +0000 (22:56 -0400)]
i965/nir: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:30:22 +0000 (15:30 -0400)]
nir/algebraic: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:17:46 +0000 (15:17 -0400)]
nir/validate: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:16:14 +0000 (15:16 -0400)]
nir/nir_worklist: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:14:04 +0000 (15:14 -0400)]
nir/remove_dead_variables: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:10:03 +0000 (15:10 -0400)]
nir/split_var_copies: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:06:20 +0000 (15:06 -0400)]
nir/repair_ssa: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 19:03:41 +0000 (15:03 -0400)]
nir/opt_peephole_select: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 18:57:35 +0000 (14:57 -0400)]
nir/phi_builder: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 18:55:19 +0000 (14:55 -0400)]
nir/opt_cp: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 18:49:09 +0000 (14:49 -0400)]
nir/opt_remove_phis: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 18:46:03 +0000 (14:46 -0400)]
nir/opt_undef: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Tue, 12 Apr 2016 18:43:16 +0000 (14:43 -0400)]
nir/opt_dead_cf: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:43:48 +0000 (17:43 -0400)]
nir/opt_dce: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:40:02 +0000 (17:40 -0400)]
nir/opt_gcm: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:37:40 +0000 (17:37 -0400)]
nir/opt_constant_folding: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:33:42 +0000 (17:33 -0400)]
nir/lower_samplers: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:29:45 +0000 (17:29 -0400)]
nir/normalize_cubemap_coords: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:25:10 +0000 (17:25 -0400)]
nir/lower_var_copies: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 21:18:45 +0000 (17:18 -0400)]
nir/move_vec_src_uses_to_dest: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:39:38 +0000 (16:39 -0400)]
nir/lower_vars_to_ssa: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:37:04 +0000 (16:37 -0400)]
nir/lower_vec_to_movs: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:32:58 +0000 (16:32 -0400)]
nir/lower_idiv: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:18:55 +0000 (16:18 -0400)]
nir/lower_to_source_mods: fixup for new foreeach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:16:56 +0000 (16:16 -0400)]
nir/lower_io: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:15:14 +0000 (16:15 -0400)]
nir/lower_system_values: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:12:30 +0000 (16:12 -0400)]
nir/lower_phis_to_scalar: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:10:16 +0000 (16:10 -0400)]
nir/lower_indirect_derefs: fixup for new foreach_block()
v2 (Jason Ekstrand): Use nir_foreach_block_safe
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:06:16 +0000 (16:06 -0400)]
nir/nir_lower_global_vars: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 20:01:50 +0000 (16:01 -0400)]
nir/lower_atomics: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:57:40 +0000 (15:57 -0400)]
nir/lower_load_const: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:56:09 +0000 (15:56 -0400)]
nir/lower_locals_to_regs: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:53:46 +0000 (15:53 -0400)]
nir/lower_gs_intrinsics: fixup for new foreach_block()
v2 (Jason Ekstrand): Use nir_foreach_block_safe
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:51:26 +0000 (15:51 -0400)]
nir/nir: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:47:40 +0000 (15:47 -0400)]
nir/lower_clip: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:39:24 +0000 (15:39 -0400)]
nir/lower_alu_to_scalar: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:30:02 +0000 (15:30 -0400)]
nir/liveness: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:24:36 +0000 (15:24 -0400)]
nir/inline_functions: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:12:40 +0000 (15:12 -0400)]
nir/from_ssa: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 8 Apr 2016 19:01:28 +0000 (15:01 -0400)]
nir/dominance: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Samuel Pitoiset [Mon, 25 Apr 2016 21:14:03 +0000 (23:14 +0200)]
nvc0: stick compute kernel arguments into uniform_bo
Having one buffer object for input kernel arguments coming from clover
and an other one for OpenGL user uniforms is unnecessary. Using the
uniform_bo object for both GL/CL uniforms avoids to declare a new BO.
This only affects compute programs but it should not hurt anything
because the states are dirtied and data will get reuploaded.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Tim Rowley [Thu, 28 Apr 2016 01:11:41 +0000 (20:11 -0500)]
swr: remove duplicated constant update code
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Marek Olšák [Thu, 28 Apr 2016 14:57:09 +0000 (16:57 +0200)]
gallium/radeon: add the size only once in r600_context_add_resource_size
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Bas Nieuwenhuizen [Tue, 8 Mar 2016 15:01:47 +0000 (16:01 +0100)]
winsys/radeon: enlarge buffer_indices_hashlist
Enlarge the buffer hashlist to prevent large numbers of misses
due to adding more buffers than can be cached in the hashlist.
Ported from winsys/amdgpu:
6373845d985d65c00f7c62b793e67ae5106eabff
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Marek Olšák [Fri, 22 Apr 2016 21:39:23 +0000 (23:39 +0200)]
gallium/radeon: drop support for LINEAR_GENERAL layout
Unused. All texture imports use LINEAR_ALIGNED regardless of what
the DDX does.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Marek Olšák [Fri, 22 Apr 2016 08:26:28 +0000 (10:26 +0200)]
radeonsi: rework clear_buffer flags
Changes:
- don't flush DB for fast color clears
- don't flush any caches for initial clears
- remove the flag from si_copy_buffer, always assume shader coherency
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Jason Ekstrand [Thu, 28 Apr 2016 18:05:56 +0000 (11:05 -0700)]
anv/dynamic_offsets: Fix the order of arguments to nir_build_imm
Jason Ekstrand [Thu, 28 Apr 2016 17:13:42 +0000 (10:13 -0700)]
anv: Fix a build error caused by recent fp64 NIR changes
Jose Fonseca [Thu, 28 Apr 2016 11:25:15 +0000 (12:25 +0100)]
nir: Try to warn when C99 extensions are used in nir headers.
Ideally we'd have nir.h being included with -Wpedantic too, but it fails
with:
src/compiler/nir/nir.h:754:20: warning: ISO C++ forbids zero-size array ‘src’ [-Wpedantic]
nir_alu_src src[];
^
In file included from src/compiler/nir/glsl_to_nir.cpp:42:0:
src/compiler/nir/nir.h:919:16: warning: ISO C++ forbids zero-size array ‘src’ [-Wpedantic]
nir_src src[];
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Jose Fonseca [Thu, 28 Apr 2016 11:19:13 +0000 (12:19 +0100)]
nir: Remove spurious ; after nir_builder functions.
Makes -pedantic happy.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Jose Fonseca [Thu, 28 Apr 2016 11:18:34 +0000 (12:18 +0100)]
nir: Remove spurious ; after namespace.
Makes -pedantic happy.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Jose Fonseca [Thu, 28 Apr 2016 11:17:42 +0000 (12:17 +0100)]
nir: Avoid C99 field initializers.
As they are not standard C++ and are not supported by MSVC C++ compiler.
Just have nir_imm_double match nir_imm_float above.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Brian Paul [Wed, 27 Apr 2016 00:10:00 +0000 (18:10 -0600)]
gallium/util: s/Elements/ARRAY_SIZE/
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Brian Paul [Wed, 27 Apr 2016 16:42:39 +0000 (10:42 -0600)]
mesa: improve comment on _mesa_check_disallowed_mapping(), return bool
The old comment was a bit terse. Also, change the function return
type to bool.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Marek Olšák [Fri, 22 Apr 2016 08:18:17 +0000 (10:18 +0200)]
radeonsi: remove needless cache flushes at the end of CP DMA operations
not needed AFAIK
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Marek Olšák [Fri, 22 Apr 2016 08:16:14 +0000 (10:16 +0200)]
radeonsi: remove flushes at the beginning and end of IBs done by the kernel
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Samuel Iglesias Gonsálvez [Tue, 26 Apr 2016 07:35:30 +0000 (09:35 +0200)]
nir: Add lrp lowering for doubles in opt_algebraic
Some hardware (i965 on Broadwell generation, for example) does not support
natively the execution of lrp instruction with double arguments.
Add 'lower_flrp64' flag to lower this instruction in that case.
v2:
- Rename lower_flrp_double to lower_flrp64 (Jason)
- Fix typo (Jason)
- Adapt the code to define bit_size information in the opcodes.
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Samuel Iglesias Gonsálvez [Thu, 28 Apr 2016 05:13:10 +0000 (07:13 +0200)]
nir: rename lower_flrp to lower_flrp32
A later patch will add lower_flrp64 option to NIR.
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Iago Toral Quiroga [Tue, 5 Jan 2016 09:32:49 +0000 (10:32 +0100)]
nir/lower_double_ops: lower round_even()
At least i965 hardware does not have native support for round_even() on doubles.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Iago Toral Quiroga [Tue, 5 Jan 2016 08:14:51 +0000 (09:14 +0100)]
nir/lower_double_ops: lower fract()
At least i965 hardware does not have native support for fract() on doubles.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Iago Toral Quiroga [Mon, 4 Jan 2016 15:10:11 +0000 (16:10 +0100)]
nir/lower_double_ops: lower ceil()
At least i965 hardware does not have native support for ceil on doubles.
v2 (Sam):
- Improve the lowering pass to remove one bcsel (Jason).
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Iago Toral Quiroga [Mon, 4 Jan 2016 15:02:47 +0000 (16:02 +0100)]
nir/lower_double_ops: lower floor()
At least i965 hardware does not have native support for floor on doubles.
v2 (Sam):
- Improve the lowering pass to remove one bcsel (Jason)
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Iago Toral Quiroga [Mon, 4 Jan 2016 11:52:14 +0000 (12:52 +0100)]
nir/lower_double_ops: lower trunc()
At least i965 hardware does not have native support for truncating doubles.
v2:
- Simplified the implementation significantly.
- Fixed the else branch, that was not doing what we wanted.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 31 Jul 2015 18:57:48 +0000 (11:57 -0700)]
nir: add a pass to lower some double operations
v2: Move to compiler/nir (Iago)
v3: Use nir_imm_int() to load the constants (Sam)
v4 (Sam):
- Undo line-wrap (Jason).
- Fix comment (Jason).
- Improve generated code for get_signed_inf() function (Connor).
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Connor Abbott [Fri, 31 Jul 2015 17:52:04 +0000 (10:52 -0700)]
nir/builder: add nir_imm_double()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Samuel Iglesias Gonsálvez [Wed, 23 Mar 2016 09:43:03 +0000 (10:43 +0100)]
nir/builder: Add bit_size info to nir_build_imm()
v2:
- Group num_components and bit_size together (Jason)
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Jakob Sinclair [Mon, 25 Apr 2016 07:03:52 +0000 (09:03 +0200)]
radeonsi: check if value is negative
Fixes a Coverity defect by adding checks to see if a value is negative
before using it to index an array. By checking the value first it makes
the code a bit safer but overall should not have a big impact.
CID:
1355598
Signed-off-by: Jakob Sinclair <sinclair.jakob@openmailbox.org>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>