Lionel Landwerlin
5d7e9edba1
i965: enable INTEL_blackhole_render
...
v2: condition the extension on context isolation support from the
kernel (Chris)
v3: (Lionel)
The initial version of this change used a feature of the Gen7+
command parser to turn the primitive instructions into no-ops.
Unfortunately this doesn't play well with how we're using the
hardware outside of the user submitted commands. For example
resolves are implicit operations which should not be turned into
no-ops as part of the previously submitted commands (before
blackhole_render is enabled) might not be disabled. For example
this sequence :
glClear();
glEnable(GL_BLACKHOLE_RENDER_INTEL);
glDrawArrays(...);
glReadPixels(...);
glDisable(GL_BLACKHOLE_RENDER_INTEL);
While clear has been emitted outside the blackhole render, it
should still be resolved properly in the read pixels. Hence we
need to be more selective and only disable user submitted
commands.
This v3 manually turns primitives into MI_NOOP if blackhole render
is enabled. This lets us enable this feature on any platform.
v4: Limit support to gen7.5+ (Lionel)
v5: Enable Gen7.5 support again, requires a kernel update of the
command parser (Lionel)
v6: Disable Gen7.5 again... Kernel devs want these patches landed
before they accept the kernel patches to whitelist INSTPM (Lionel)
v7: Simplify change by never holding noop (there was a shortcoming in the test not considering fast clears)
Only program register using MI_LRI (Lionel)
v8: Switch to software managed blackhole (BDW hangs on compute batches...)
v9: Simplify the noop state tracking (Lionel)
v10: Don't modify flush function (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org > (v8)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2964 >
2020-02-13 17:05:05 +00:00
Lionel Landwerlin
74ec39f66d
mesa: add INTEL_blackhole_render
...
v2: Implement missing Enable/Disable (Emil)
v3: Drop unused NewIntelBlackholeRender (Ken)
v4: Bring back NewIntelBlackholeRender as i965 implementation uses it
again (Lionel)
v5: Drop atom (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2964 >
2020-02-13 17:05:05 +00:00
Thong Thai
08cff938b7
Revert "st/va: Convert interlaced NV12 to progressive"
...
This reverts commit 2add63060b .
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2454
Fixes: 2add63060b "st/va: Convert interlaced NV12 to progressive"
Signed-off-by: Thong Thai <thong.thai@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3815 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3815 >
2020-02-13 16:43:02 +00:00
Jason Ekstrand
3a2977e7b5
anv: Reject modifiers on depth/stencil formats
...
6790397346 added code which attempts to reject modifiers on
depth/stencil formats but it was placed after the early return for depth
and stencil aspects. This commit moves it up so it actually works.
Of course, this doesn't actually matter because the only user of any of
the modifiers stuff is the WSI code and it will never do anything with
depth/stencil.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3794 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3794 >
2020-02-13 15:40:18 +00:00
Krzysztof Raszkowski
5a593bec16
gallium/swr: fix rdtsc debug statistics mechanism
...
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3812 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3812 >
2020-02-13 15:33:27 +01:00
Rhys Perry
dd16ad107d
gitlab-ci: remove load_store_vectorizer from expected s390x test failures
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3690 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3690 >
2020-02-13 10:53:37 +00:00
Rhys Perry
aca2458d1b
nir: fix nir_const_value_as_uint bit size in load/store vectorizer tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3690 >
2020-02-13 10:53:37 +00:00
Erik Faye-Lund
0c1ba69a27
Revert "nir: Add a couple trivial abs optimizations"
...
These were already added in 9fdaeb7776 ("nir: add min/max optimisation"),
and there's no point in doing them twice.
This reverts commit e4d346c86d .
Fixes: e4d346c86d ("nir: Add a couple trivial abs optimizations")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3786 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3786 >
2020-02-13 09:18:27 +00:00
Tapani Pälli
fdd20be324
iris: fix aux buf map failure in 32bits app on Android
...
Cc: mesa-stable@lists.freedesktop.org
Reported-by: Zhifang Long <zhifang.long@intel.com >
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3784 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3784 >
2020-02-13 10:54:53 +02:00
Samuel Pitoiset
b9e0947a9e
radv: remove unused RADV_HASH_SHADER_IS_GEOM_COPY_SHADER
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3789 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3789 >
2020-02-13 08:09:13 +00:00
Samuel Pitoiset
b2531370c9
radv: remove RADV_DEBUG=nosisched and RADV_PERFTEST=sisched
...
They are no longer useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3789 >
2020-02-13 08:09:13 +00:00
Samuel Pitoiset
fa48e7edc2
radv: remove LLVM sicheduler enable for The Talos Principle
...
sisched is completely unmaintained, it used to give few more FPS
in the past but with ACO, it's now obsolete. It seems even faster
without sisched now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3789 >
2020-02-13 08:09:13 +00:00
Tapani Pälli
f7d1bf075a
glsl: fix a memory leak with resource_set
...
==7265== 248 (120 direct, 128 indirect) bytes in 1 blocks are definitely lost in loss record 1,438 of 1,465
==7265== at 0x483980B: malloc (vg_replace_malloc.c:309)
==7265== by 0x598A2AB: ralloc_size (ralloc.c:119)
==7265== by 0x598F861: _mesa_set_create (set.c:127)
==7265== by 0x599079D: _mesa_pointer_set_create (set.c:570)
==7265== by 0x58BD7D1: build_program_resource_list(gl_context*, gl_shader_program*, bool) (linker.cpp:4026)
==7265== by 0x548231B: st_link_shader (st_glsl_to_ir.cpp:170)
==7265== by 0x54DA269: _mesa_glsl_link_shader (ir_to_mesa.cpp:3119)
Fixes: a6aedc66 ("st/glsl_to_nir: use nir based program resource list builder")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3574 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3574 >
2020-02-13 07:47:33 +00:00
Samuel Pitoiset
556c940149
radv: implement VK_EXT_line_rasterization
...
Only Bresenham lines are supported. GFX9 is currently disabled
because there is some CTS failures for some weird reasons.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2982 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2982 >
2020-02-13 08:14:01 +01:00
Samuel Pitoiset
fbcf05382b
radv: fix line width range and granularity
...
The hardware supports wide lines and the granularity is way larger.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2982 >
2020-02-13 08:14:01 +01:00
Connor Abbott
da64c35ff9
tu: Force sysmem with mipmapped non-aligned linear stores
...
Fixes hangs with
dEQP-VK.api.image_clearing.core.clear_color_image.1d.linear.single_layer.r8g8b8a8_unorm
and many others on a640, and presumably silent corruption with a630.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:37:05 -05:00
Connor Abbott
f026982265
tu: Support input attachments with sysmem
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:37:05 -05:00
Connor Abbott
c1b3f9e832
tu: Support resolve ops with sysmem rendering
...
Similar to vkCmdClearAttachments(), we use CP_COND_REG_EXEC to
conditionally execute both the gmem and sysmem paths, except for after
the last subpass where it's known whether we're using sysmem rendering
or not.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:37:01 -05:00
Connor Abbott
8647a24a8d
tu: Handle vkCmdClearAttachments() with sysmem
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:36:41 -05:00
Connor Abbott
07e07daeae
tu: Add helper for CP_COND_REG_EXEC
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:36:41 -05:00
Connor Abbott
6a0c4008bf
tu: Sysmem rendering
...
This has only lightly been tested. It passes dEQP-VK.api.smoke.triangle,
so at least we're able to show a triangle. For now, it's just enabled
under a debug flag. In the future we'll probably want some heuristics
like what freedreno has and another debug flag to disable it except when
it's forced.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:36:36 -05:00
Connor Abbott
041783d49d
tu: Disable linear depth attachments
...
Also, disable importing depth/stencil textures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:31:57 -05:00
Connor Abbott
ab3db20cb5
tu: Support multisample image clears
...
We may need shader workarounds for some formats, but for now this seems
to work at least as well as the gmem path for clearing multisample
attachments. And soon we'll start calling this even on the gmem path,
since we leave the final decision of whether to use sysmem or not up
till the end, so we can't have it assert or otherwise working tests
would assert.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:31:57 -05:00
Connor Abbott
a5fb515301
tu/blit: Support blits in secondary cmdstreams
...
For sysmem rendering we'll have to emit a delayed clear IB to implement
LOAD_OP_*, similar to the existing tile_load_ib.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:31:44 -05:00
Connor Abbott
a94be3da84
tu: Properly set UBWC flags in RB_RENDER_CNTL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:23:50 -05:00
Connor Abbott
49817cb3ea
tu: Don't emit initial render target state in tile_load_ib
...
Emitting it directly in CmdBeginRenderPass should be around the same,
except that now we can easily share it with the sysmem path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3713 >
2020-02-12 21:23:50 -05:00
Peng Huang
0660cbf426
radeonsi: make si_fence_server_signal flush pipe without work
...
glSignalSemaphoreEXT sometime doesn't signal the semaphore, it is
because radeonsi doesn't flush if gl context doesn't have pending
work. Fix the porblem by always submit ib.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779 >
2020-02-12 23:51:50 +00:00
Chad Versace
787b56ac0e
turnip: Add a618 support
...
I merely ported a freedreno patch to turnip which
updates some magic regsiter values.
commit ff6e148a3d
Author: Rob Clark <robdclark@chromium.org >
CommitDate: Tue Oct 29 09:19:34 2019 -0700
Subject: freedreno/a6xx: add a618 support
That's all that Rob did for gallium for a618, so I assume that's we need
for turnip also.
Tested manually with:
dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.single_layer.*
pass 300/555
fail 0/555
skip 255/555
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3743 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3743 >
2020-02-12 23:27:43 +00:00
Chad Versace
ef5da26089
turnip: Add magic register values to tu_physical_device
...
The value of some magic regsiters differ across chipsets. fd6_context
manages the differences by initializing them at runtime. Let's do the
same.
Add to tu_physical_device a subset of those found in fd6_context:
RB_UNKNOWN_8E04_blit
RB_CCU_CNTL_gmem
PC_UNKNOWN_9805
SP_UNKNOWN_A0F8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3743 >
2020-02-12 23:27:43 +00:00
Jonathan Marek
18786cc7d5
freedreno/a6xx: use single format enum
...
Loses some information about which formats can be used in which cases, but
we encode that information in the format table anyway.
Important notes:
* RB6_R10G10B10A2_UNORM becomes FMT6_R10G10B10A2_UNORM_DEST
* TFMT6_8_8_8_UNORM becomes FMT6_8_8_8_X8_UNORM (not FMT6_8_8_8_UNORM)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3798 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3798 >
2020-02-12 21:59:59 +00:00
Chad Versace
c13202af7a
anv: Respect ISL_SURF_USAGE_DISABLE_AUX_BIT in make_surface()
...
If set, then don't make the aux surface.
Only anv_android.c used the flag, but anv_image.c fully ignored it.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3797 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3797 >
2020-02-12 21:34:02 +00:00
Chad Versace
a76fd8b08c
anv: Clarify behavior of anv_image_aspect_to_plane()
...
It returns the aspect's _format_ plane, not its _memory_ plane (using the
vocabulary of VK_EXT_image_drm_format_modifier).
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3796 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3796 >
2020-02-12 21:01:45 +00:00
Chad Versace
da2b0c6c19
anv: Delete anv_image::ccs_e_compatible
...
It was set exactly once, and read exactly once, both times during
anv_image_create().
I found its permanency as a member of anv_image to be distracting while
implementing VK_EXT_image_drm_format_modifier.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3795 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3795 >
2020-02-12 20:31:39 +00:00
Rhys Perry
483d4ec57c
aco: improve SCC handling in some SALU combines
...
Add some checks and remove some unnecessary checks.
Found by observation. No pipeline-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3599 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3599 >
2020-02-12 19:18:45 +00:00
Rhys Perry
d45e9451cf
aco: disable some instruction combining if it could change an exec operand
...
Found by observation. No pipeline-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3599 >
2020-02-12 19:18:40 +00:00
Arcady Goldmints-Orlov
e9f83185a2
Rename nir_lower_constant_initializers to nir_lower_variable_initalizers
...
This is naming is more clear as nir_variables can be initializes not
just with a nir_constant but with a pointer to another nir_variable.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
2020-02-12 15:41:49 +00:00
Arcady Goldmints-Orlov
e459c7f0a1
compiler/spirv: Add support for non-constant initializers
...
This adds support for OpVariable having an initializer that points to
another variable, rather than a constant. In this case, the variable is
initialized to a pointer to the other variable.
Fixes Vulkan CTS tests:
dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.*
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
2020-02-12 15:41:49 +00:00
Arcady Goldmints-Orlov
7acc81056f
compiler/nir: Add support for variable initialization from a pointer
...
Add a pointer_initializer field to nir_variable analogous to
constant_initializer, which can be used to initialize the nir_variable
to a pointer to another nir_variable. Just like the
constant_initializer, the pointer_initializer gets eliminated in the
nir_lower_constant_initializers pass.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
2020-02-12 15:41:49 +00:00
Veerabadhran
461c40e0fd
radeon/vce: Move global function pointer si_get_pic_param to local encoder structure
...
Multi gpu use case broken when the function was global
Reviewed-by: Leo Liu <leo.liu@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3731 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3731 >
2020-02-12 13:43:35 +00:00
Chad Versace
286141197d
anv: Rename param make_surface::dev to device
...
Everywhere in anvil, each variable of type anv_device is named 'device',
except this single instance. Rename it for consistency.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3773 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3773 >
2020-02-11 13:26:38 -06:00
Chad Versace
84b791a4bb
anv: Drop unused anv_image_get_surface_for_aspect_mask()
...
Replaced by anv_image.c:get_surface() in:
commit a62a979335
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
CommitDate: Fri Oct 6 16:32:20 2017 +0100
Subject: anv: enable multiple planes per image/imageView
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3773 >
2020-02-11 13:26:06 -06:00
Michel Dänzer
2303762735
gitlab-ci: Only use gstreamer runners for the s390x job for now
...
The fdo-packet-* runners keep hitting the (already quite long) timeouts
for some of the tests, taking many times as long for them as the
gstreamer runners.
The fdo-gitlab-gce-runner3 runner would work as well, but it doesn't
have any tags we could use.
Acked-by: Daniel Stone <daniels@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3760 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3760 >
2020-02-11 09:59:08 +01:00
Samuel Pitoiset
8e77280774
nir: do not use De Morgan's Law rules for flt and fge
...
In presence of NaNs, "!(flt(a, b) && flt(c, d))" is NOT EQUAL
to "fge(a, b) || fge(c, d)". These optimizations are unsafe for
apps that rely on NaN behaviour.
pipeline-db (GFX9/LLVM):
Totals from affected shaders:
SGPRS: 3176 -> 3136 (-1.26 %)
VGPRS: 2188 -> 2144 (-2.01 %)
Spilled SGPRs: 227 -> 169 (-25.55 %)
Code Size: 150572 -> 151800 (0.82 %) bytes
Max Waves: 307 -> 310 (0.98 %)
pipeline-db (GFX9/ACO):
Totals from affected shaders:
SGPRS: 18744 -> 18744 (0.00 %)
VGPRS: 15576 -> 15580 (0.03 %)
Spilled SGPRs: 164 -> 164 (0.00 %)
Code Size: 1573012 -> 1576492 (0.22 %) bytes
Max Waves: 1534 -> 1532 (-0.13 %)
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2127
Fixes: d1ed4ffe0b ("nir: Use De Morgan's Law on logic compounded comparisons")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3696 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3696 >
2020-02-11 08:36:00 +01:00
Samuel Pitoiset
ddd767387f
aco: fix creating v_madak if v_mad_f32 has two sgpr literals
...
Do not ignore that src1 can be a sgpr.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2435
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3759 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3759 >
2020-02-11 07:17:31 +00:00
Samuel Pitoiset
cd08d9abd7
radv: set the chip name to GCN-NOOP when RADV_FORCE_FAMILY is set
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3654 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3654 >
2020-02-11 07:56:59 +01:00
Samuel Pitoiset
a8024aaaab
radv: make sure to not submit any IBs when RADV_FORCE_FAMILY is set
...
To prevent GPU hangs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3654 >
2020-02-11 07:56:55 +01:00
Bas Nieuwenhuizen
5b335e1599
radv: Do not redundantly set the RB+ regs on pipeline switch.
...
No significant perf changes seen on Bayonetta. (Changes are in the
noise on my Raven Laptop)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3735 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3735 >
2020-02-11 04:39:42 +00:00
Vinson Lee
63345a3596
panfrost: Remove unused anonymous enum variables.
...
This patch fix these build errors with GCC 10.
/usr/bin/ld: src/gallium/drivers/panfrost/libpanfrost.a(pan_resource.c.o):src/panfrost/midgard/midgard_compile.h:52: multiple definition of `pan_sysval'; src/gallium/drivers/panfrost/libpanfrost.a(pan_screen.c.o):src/panfrost/midgard/midgard_compile.h:52: first defined here
/usr/bin/ld: src/gallium/drivers/panfrost/libpanfrost.a(pan_resource.c.o):src/panfrost/midgard/midgard_compile.h:68: multiple definition of `pan_special_attributes'; src/gallium/drivers/panfrost/libpanfrost.a(pan_screen.c.o):src/panfrost/midgard/midgard_compile.h:68: first defined here
Fixes: 7e8de5a707 ("panfrost: Implement system values")
Fixes: 306800d747 ("pan/midgard: Lower gl_VertexID/gl_InstanceID to attributes")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3752 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3752 >
2020-02-11 03:26:04 +00:00
Bas Nieuwenhuizen
7792d774e0
radv: Optimize emitting index buffer changes.
...
Since the direct indexed draw packet has the address/count info
inline, there is no sense in emitting the base and size.
No real significant changes found during benchmarks.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3466 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3466 >
2020-02-11 03:07:11 +00:00
Ian Romanick
1d97d186fb
nir: Mark fmin and fmax as commutative and associative
...
Per the resolution of Khronos GLSL issue 80
(https://github.com/KhronosGroup/GLSL/issues/80 ). Spec updates have not
landed yet, but I'll get to it soon. :)
The extra hurt shaders on Gen8+ are a handful of shaders that see things like
bcsel(fmin(b - a, a - c) >= 0, x, y)
converted to
bcsel(a >= b && c >= a, x, y)
The former can be generated as a CSEL instruction. If either b - a or a
- c is used elsewhere in the shader, this saves an instruction.
All Haswell+ platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 14550188 -> 14550048 (<.01%)
instructions in affected programs: 12168 -> 12028 (-1.15%)
helped: 30
HURT: 3
helped stats (abs) min: 1 max: 17 x̄: 4.77 x̃: 2
helped stats (rel) min: 0.05% max: 3.85% x̄: 1.77% x̃: 1.80%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.50% max: 0.50% x̄: 0.50% x̃: 0.50%
95% mean confidence interval for instructions value: -6.15 -2.33
95% mean confidence interval for instructions %-change: -2.00% -1.12%
Instructions are helped.
total cycles in shared programs: 203770286 -> 203771464 (<.01%)
cycles in affected programs: 688466 -> 689644 (0.17%)
helped: 172
HURT: 220
helped stats (abs) min: 1 max: 286 x̄: 12.15 x̃: 6
helped stats (rel) min: 0.03% max: 5.97% x̄: 0.70% x̃: 0.35%
HURT stats (abs) min: 1 max: 578 x̄: 14.85 x̃: 6
HURT stats (rel) min: 0.03% max: 32.36% x̄: 1.21% x̃: 0.52%
95% mean confidence interval for cycles value: -0.74 6.75
95% mean confidence interval for cycles %-change: 0.15% 0.59%
Inconclusive result (value mean confidence interval includes 0).
total fills in shared programs: 4525 -> 4523 (-0.04%)
fills in affected programs: 48 -> 46 (-4.17%)
helped: 1
HURT: 0
Ivy Bridge
total instructions in shared programs: 11858995 -> 11858898 (<.01%)
instructions in affected programs: 10822 -> 10725 (-0.90%)
helped: 25
HURT: 13
helped stats (abs) min: 1 max: 17 x̄: 5.32 x̃: 2
helped stats (rel) min: 0.40% max: 5.00% x̄: 2.16% x̃: 1.85%
HURT stats (abs) min: 1 max: 15 x̄: 2.77 x̃: 2
HURT stats (rel) min: 0.47% max: 2.90% x̄: 1.83% x̃: 2.15%
95% mean confidence interval for instructions value: -4.66 -0.45
95% mean confidence interval for instructions %-change: -1.54% -0.05%
Instructions are helped.
total cycles in shared programs: 177947023 -> 177946880 (<.01%)
cycles in affected programs: 822075 -> 821932 (-0.02%)
helped: 157
HURT: 175
helped stats (abs) min: 1 max: 164 x̄: 13.17 x̃: 4
helped stats (rel) min: 0.03% max: 6.72% x̄: 0.64% x̃: 0.17%
HURT stats (abs) min: 1 max: 308 x̄: 11.00 x̃: 4
HURT stats (rel) min: 0.03% max: 9.76% x̄: 0.70% x̃: 0.18%
95% mean confidence interval for cycles value: -3.86 3.00
95% mean confidence interval for cycles %-change: -0.09% 0.22%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 4185 -> 4188 (0.07%)
spills in affected programs: 146 -> 149 (2.05%)
helped: 0
HURT: 1
total fills in shared programs: 5248 -> 5249 (0.02%)
fills in affected programs: 347 -> 348 (0.29%)
helped: 0
HURT: 1
Sandy Bridge
total instructions in shared programs: 10680224 -> 10680144 (<.01%)
instructions in affected programs: 4702 -> 4622 (-1.70%)
helped: 15
HURT: 3
helped stats (abs) min: 1 max: 17 x̄: 5.53 x̃: 5
helped stats (rel) min: 0.39% max: 4.76% x̄: 2.17% x̃: 1.67%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.52% max: 0.52% x̄: 0.52% x̃: 0.52%
95% mean confidence interval for instructions value: -7.24 -1.65
95% mean confidence interval for instructions %-change: -2.55% -0.89%
Instructions are helped.
total cycles in shared programs: 152988780 -> 152985691 (<.01%)
cycles in affected programs: 1072850 -> 1069761 (-0.29%)
helped: 168
HURT: 145
helped stats (abs) min: 1 max: 592 x̄: 33.90 x̃: 12
helped stats (rel) min: 0.02% max: 10.73% x̄: 0.90% x̃: 0.31%
HURT stats (abs) min: 1 max: 259 x̄: 17.98 x̃: 6
HURT stats (rel) min: 0.02% max: 8.17% x̄: 0.77% x̃: 0.19%
95% mean confidence interval for cycles value: -17.95 -1.79
95% mean confidence interval for cycles %-change: -0.34% 0.08%
Inconclusive result (%-change mean confidence interval includes 0).
Iron Lake and GM45 had similar results. (Iron Lake shown)
total instructions in shared programs: 8107033 -> 8107025 (<.01%)
instructions in affected programs: 696 -> 688 (-1.15%)
helped: 5
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.60 x̃: 2
helped stats (rel) min: 0.34% max: 7.14% x̄: 3.47% x̃: 4.65%
95% mean confidence interval for instructions value: -2.28 -0.92
95% mean confidence interval for instructions %-change: -7.22% 0.28%
Inconclusive result (%-change mean confidence interval includes 0).
total cycles in shared programs: 188348526 -> 188348404 (<.01%)
cycles in affected programs: 33618 -> 33496 (-0.36%)
helped: 23
HURT: 0
helped stats (abs) min: 2 max: 12 x̄: 5.30 x̃: 6
helped stats (rel) min: 0.05% max: 1.83% x̄: 0.47% x̃: 0.51%
95% mean confidence interval for cycles value: -6.70 -3.91
95% mean confidence interval for cycles %-change: -0.64% -0.30%
Cycles are helped.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1359 >
2020-02-10 18:37:36 -08:00