Mike Blumenkrantz
a8e047e8f4
zink: discard pending clears during blit/copy if we'll overwrite the data
...
these operations are redundant, so there's no point in forcing them through
since they'll never be visible
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
031e3e68ee
zink: add helper for applying/discarding clears based on a rect
...
this lets us test whether we're going to overwrite a scissored clear
region in order to correctly no-op it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
a48bf14b44
zink: break out fb clear apply into helper function
...
we'll be reusing this shortly...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
f6cf5a64cc
zink: add another helper for checking whether one rect covers another
...
this is going to be used for no-oping writes
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
72653ade81
zink: add helper for converting pipe_box -> u_rect
...
how is this not a thing already
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
787412b7eb
zink: break out region overlap testing function into helper
...
this is useful for a lot of copying operations
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
48716b1431
zink: also defer fb clears when conditional render is active
...
this just requires adding an explicit flush for the deferred clears in
case conditional rendering is disabled before a draw happens
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
5c629e9ff2
zink: defer pipe_context::clear calls when not currently in a renderpass
...
instead, we can attach the clear to the next renderpass start and even add it to
the renderpass cache for reuse
also add handling for flushing clears on map or fb switching to avoid brekaing behavior
this should save us a lot of time with potentially beginning/ending renderpasses as well
as allowing drivers to do better batching of clears by passing in all the buffers at
once
this doesn't handle deferring conditional renders yet in a futile attempt to try and keep
the size of the patch down
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
b37cba8271
zink: create framebuffer and renderpass objects just before vkCmdBeginRenderPass()
...
this lets us remove a flush and accumulate clears to perform in the renderpass
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Mike Blumenkrantz
bd4f8786e3
zink: ralloc the main context
...
we can start sticking stuff onto this now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9206 >
2021-02-24 01:58:59 +00:00
Rob Clark
9d03dc2537
freedreno: Workaround for UNSYNC+DISCARD_RANGE
...
Dead-cells (and perhaps others) does MapBufferRange(UNSYNC|DISCARD_RANGE)
to update single buffered VBOs every frame in the opening menu screen,
and because we were considering UNSYNC with higher priority than
DISCARD_RANGE, this would result in the game racing VBO updates between
binning and tile passes, causing visibility stream inconsistency between
the two passes, resulting in "tile flicker".
The letter of the gl spec implies this is undefined behavior (at least
to my reading of it). But we already hand DISCARD_RANGE in the !UNSYNC
case, so just go down this path instead. It means we could potentially
end up invalidating (and back-blit) in cases where the app really knows
what it is doing, but oh well.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4337
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9223 >
2021-02-24 00:19:33 +00:00
Rob Clark
dabec19b05
freedreno: Add perf_debug logging for bo stalls
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9223 >
2021-02-24 00:19:33 +00:00
Rob Clark
e96cf1ed63
freedreno: Handle InvalidateBufferData() case
...
We already had all the mechanism, it just wasn't wired up.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9223 >
2021-02-24 00:19:33 +00:00
Dave Airlie
3e7e071ccf
lavapipe: enable KHR_maintenace3
...
At this stage I can't think of any reason a swrast would need to
limit descriptor sets at this point. I'm sure there are some in the
future.
Otherwise it just fixes up a lookup that really is a noop, but
may as well make it correct.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9238 >
2021-02-24 10:07:12 +10:00
Dave Airlie
f7414d9cd5
lavapipe: enable KHR_maintenance2
...
This seems to pass all the CTS tests at least. I think
most of the details are handled already.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9238 >
2021-02-24 10:07:08 +10:00
Dave Airlie
83c4e94196
lavapipe: handle tessellation domain winding
...
Fixes: dEQP-VK.tessellation.winding.*
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9238 >
2021-02-24 10:07:01 +10:00
Ian Romanick
52eb47c8d4
intel/compiler: Relax some conditions in try_copy_propagate
...
Previously can_do_source_mods was used to determine whether a value with
a source modifier or a value from a scalar source (e.g., a uniform)
could be copy propagated. The former is a superset of the latter, so
this always produces correct results, but it is overly restrictive. For
example, a BFI instruction can't have source modifiers, but it can have
scalar sources.
This was originally authored to prevent a small number of shader-db
regressions in a commit that marked SHR has not being able to have
source modifiers. That commit has since been dropped in favor of a
different method.
v2: Refactor register region restriction detection to a helper function.
Suggested by Jason.
No fossil-db changes on any Intel platform.
All Gen7+ platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 20039111 -> 20038943 (<.01%)
instructions in affected programs: 31736 -> 31568 (-0.53%)
helped: 104
HURT: 0
helped stats (abs) min: 1 max: 9 x̄: 1.62 x̃: 1
helped stats (rel) min: 0.30% max: 0.88% x̄: 0.45% x̃: 0.42%
95% mean confidence interval for instructions value: -2.03 -1.20
95% mean confidence interval for instructions %-change: -0.47% -0.42%
Instructions are helped.
total cycles in shared programs: 980309750 -> 980308897 (<.01%)
cycles in affected programs: 591078 -> 590225 (-0.14%)
helped: 70
HURT: 26
helped stats (abs) min: 2 max: 622 x̄: 23.94 x̃: 4
helped stats (rel) min: <.01% max: 2.85% x̄: 0.33% x̃: 0.12%
HURT stats (abs) min: 2 max: 520 x̄: 31.65 x̃: 6
HURT stats (rel) min: 0.02% max: 2.45% x̄: 0.34% x̃: 0.15%
95% mean confidence interval for cycles value: -26.41 8.64
95% mean confidence interval for cycles %-change: -0.27% -0.03%
Inconclusive result (value mean confidence interval includes 0).
No shader-db changes on earlier Intel platforms.
Reviewed-by: Anuj Phogat anuj.phogat@gmail.com [v1]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9237 >
2021-02-23 15:11:37 -08:00
Ian Romanick
3f18faea30
intel: Silence unused parameter warnings in files that include genX_pack.h
...
src/intel/genxml/gen4_pack.h: In function ‘__gen_address’:
src/intel/genxml/gen4_pack.h:115:38: warning: unused parameter ‘start’ [-Wunused-parameter]
115 | NDEBUG_UNUSED uint32_t start, uint32_t end)
| ~~~~~~~~~^~~~~
Reviewed-by: Anuj Phogat anuj.phogat@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9237 >
2021-02-23 15:11:37 -08:00
Ian Romanick
b5cf60b75d
intel: Silence unused parameter warnings in files that include gen_device_info.h
...
src/intel/dev/gen_device_info.h: In function ‘unsigned int gen_device_info_num_dual_subslices(const gen_device_info*)’:
src/intel/dev/gen_device_info.h:311:66: warning: unused parameter ‘devinfo’ [-Wunused-parameter]
311 | gen_device_info_num_dual_subslices(const struct gen_device_info *devinfo)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Reviewed-by: Anuj Phogat anuj.phogat@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9237 >
2021-02-23 15:11:37 -08:00
Ian Romanick
0da47c4019
intel/compiler: Silence unused parameter warnings in files that include brw_eu.h
...
src/intel/compiler/brw_eu.h: In function ‘uint32_t brw_btd_spawn_msg_type(const gen_device_info*, uint32_t)’:
src/intel/compiler/brw_eu.h:1040:54: warning: unused parameter ‘devinfo’ [-Wunused-parameter]
1040 | brw_btd_spawn_msg_type(const struct gen_device_info *devinfo,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
src/intel/compiler/brw_eu.h: In function ‘uint32_t brw_btd_spawn_exec_size(const gen_device_info*, uint32_t)’:
src/intel/compiler/brw_eu.h:1047:55: warning: unused parameter ‘devinfo’ [-Wunused-parameter]
1047 | brw_btd_spawn_exec_size(const struct gen_device_info *devinfo,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
src/intel/compiler/brw_eu.h: In function ‘uint32_t brw_rt_trace_ray_desc_exec_size(const gen_device_info*, uint32_t)’:
src/intel/compiler/brw_eu.h:1065:63: warning: unused parameter ‘devinfo’ [-Wunused-parameter]
1065 | brw_rt_trace_ray_desc_exec_size(const struct gen_device_info *devinfo,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Reviewed-by: Anuj Phogat anuj.phogat@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9237 >
2021-02-23 15:11:37 -08:00
Mike Blumenkrantz
41bd5f7cd7
lavapipe: fix color-only renderpass clears
...
not all attachments must be cleared
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9234 >
2021-02-23 21:21:21 +00:00
Eric Anholt
5e0e04f288
llvmpipe: Enable FXT1 texture decompression.
...
We have the software decode hooked up now, and it's not like this
decompression is more expensive than a lot of other software decompression
we have. One less feature to be missing from the old swrast classic driver.
Reviewed-by: Adam jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9194 >
2021-02-23 20:38:50 +00:00
Eric Anholt
a46b73ee25
mesa: Move the FXT1 compressor/decompressor to util/
...
softpipe failed at handling FXT1, despite exposing it, because we didn't
have a fetch function for it in the util/ format table.
Fixes : #3968
Reviewed-by: Adam jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9194 >
2021-02-23 20:38:50 +00:00
Eric Anholt
db0c2ef979
mesa: Get the FXT1 compressor/decompressor off of GL types.
...
We can use stdint now. This is preparation for moving to util/
Reviewed-by: Adam jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9194 >
2021-02-23 20:38:50 +00:00
Eric Anholt
e08a04a140
softpipe: Fix the const buffer overflow check.
...
The size is in bytes, pos is a dword index.
Fixes these asan failures (not tested in CI since we run a fraction):
dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.const_expression_compute,Crash
dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.const_literal_compute,Crash
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9162 >
2021-02-23 19:26:53 +00:00
Mike Blumenkrantz
f88d03c16c
zink: actually disable sample mask tests on ci
...
Fixes: 5edbc6148d ("zink: disable some builtin-gl-sample-mask sample shading tests on ci")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9227 >
2021-02-23 19:13:34 +00:00
Adam Jackson
292d45497f
gallium/xlib: Partial fix for glXCopySubBufferMESA
...
xmesa_copy_st_framebuffer would attempt to flush from the front buffer
to the display, but we don't actually have an attachment for the front
buffer (just the back) so nothing would happen. Fix this by flushing
fron the back to the display, threading the dirty box through so we
don't update more than we were told to.
This has the virtue of displaying correctly, but glx-copy-sub-buffer
still fails since there is no real front buffer, reads from GL_FRONT
actually read from the back buffer. The test does: clear to red, swap,
clear to green, copy sub-buffer, expect a green square inside of a red
one from the front buffer. Since you're really reading from the back you
instead get solid green.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9140 >
2021-02-23 18:57:57 +00:00
Mauro Rossi
6635a47038
android: ac/rgp: fix building error
...
Include "util/list.h" as per "util/simple_mtx.h" one line later
Fixes the following building error in Android:
In file included from external/mesa/src/amd/common/ac_rgp.c:24:
external/mesa/src/amd/common/ac_rgp.h:31:10: fatal error: 'list.h' file not found
^~~~~~~~
1 error generated.
Fixes: 12515d6b ("ac/rgp: add rgp co, col, pso data structures")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4334
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9202 >
2021-02-23 18:26:42 +00:00
Juan A. Suarez Romero
4675121ea6
ci/v3d: Update expected resuls for piglit
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9224 >
2021-02-23 18:14:51 +00:00
Eric Anholt
c80ddf9d74
zink: Remove NULL checks after GET_PROC_ADDR_INSTANCE().
...
They're already done inside GET_PROC_ADDR*().
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8891 >
2021-02-23 18:01:47 +00:00
Eric Anholt
c43e8da535
zink: Use mesa_loge() for should-never-be-reached initialization errors.
...
dEQP in CI was hitting these, and debug_printf is not enabled on non-debug
(such as debugoptimized or release) builds. Besides, mesa_loge() gets you
logging on Android, should someone ever do zink for that.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8891 >
2021-02-23 18:01:47 +00:00
Eric Anholt
d53fa9d9ff
ci/zink: Add tests of gles2, gles3, and gl33 on lavapipe.
...
This catches a bunch of conformance issues on the current driver stack.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8891 >
2021-02-23 18:01:47 +00:00
Jesse Natalie
a77eedd6bb
docs: Document USE_ELF_TLS can work on Windows too
...
Reviewed-by: Jose Fonseca <jfonseca@vmware.com.>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9165 >
2021-02-23 17:06:48 +00:00
Jesse Natalie
ba141b95a7
glapi: Support "ELF" TLS on Windows
...
To avoid a massive rename, I'm leaving this as a misnomer, it's not
really ELF TLS, but it's the same concept.
Note that Windows doesn't support thread-local variables imported
or exported between modules, so we can only support this when we're
not using a shared glapi.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4050
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9165 >
2021-02-23 17:06:48 +00:00
Bas Nieuwenhuizen
d7e1f492bc
radv: Disable displayable DCC for GFX8 properly.
...
On scanout the GFX8 ac_surface doesn't clear the size but only
doesn't allocate space and hence dcc_offset is 0. This is the same
as radeonsi.
Fixes: 7acb30de8a ("radv: Enable displayable DCC.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4346
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9221 >
2021-02-23 16:57:04 +00:00
Mike Blumenkrantz
5edbc6148d
zink: disable some builtin-gl-sample-mask sample shading tests on ci
...
these are super flaky
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9219 >
2021-02-23 16:46:53 +00:00
Pierre-Eric Pelloux-Prayer
e346f61a91
mesa: update vao _EnabledWithMapMode in copy_array_object
...
Otherwise it can be out of sync.
Fixes: 306f1ef417 ("mesa: precompute _mesa_get_vao_vp_inputs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4331
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com>
Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9199 >
2021-02-23 15:48:01 +00:00
Lionel Landwerlin
b0b1bf9957
anv: Fix wait_count missing increment
...
If we don't wait on anything, I bet it makes the QueuePresent faster,
but also completely wrong...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 02f94c3306 ("anv: don't wait for completion of work on vkQueuePresent()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4276
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9211 >
2021-02-23 15:39:42 +00:00
Jan Beich
97ff5160d1
ac/rgp: define EM_AMDGPU if missing for compatibility
...
EM_AMDGPU isn't defined on DragonFly, FreeBSD, OpenBSD, so use the
same workaround as ac_rtld.c.
src/amd/common/ac_rgp_elf_object_pack.c:382:24: error: use of undeclared identifier 'EM_AMDGPU'
elf_hdr.e_machine = EM_AMDGPU;
^
Fixes: 110bb2c77d ("ac/rgp: add helper function to write rgp elf oject")
Reviewed-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9169 >
2021-02-23 15:19:41 +00:00
Jan Beich
ec35c4b57c
ac: prefer system EM_AMDGPU definition
...
May improve compatibility with systems where EM_AMDGPU value is
different from Linux.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9169 >
2021-02-23 15:19:41 +00:00
Christian Gmeiner
dba692c618
etnaviv: use nir_lower_uniforms_to_ubo(..)
...
This removes our local copy and fixes the following nir validation problem:
error: nir_intrinsic_range(instr) != 0 (../src/compiler/nir/nir_validate.c:646)
No piglit or deqp regression seen.
shader-db results for GC3000:
instructions helped: shaders/deqp_gles2/23470.shader_test VERT: 328 -> 316 (-3.66%)
instructions helped: shaders/deqp_gles2/23473.shader_test FRAG: 328 -> 316 (-3.66%)
instructions helped: shaders/glamor/88.shader_test FRAG: 472 -> 452 (-4.24%)
instructions helped: shaders/chromeos/36.shader_test VERT: 60 -> 56 (-6.67%)
instructions helped: shaders/chromeos/24.shader_test VERT: 60 -> 56 (-6.67%)
instructions helped: shaders/chromeos/18.shader_test VERT: 60 -> 56 (-6.67%)
instructions helped: shaders/chromeos/45.shader_test VERT: 60 -> 56 (-6.67%)
instructions helped: shaders/deqp_gles2/23494.shader_test VERT: 176 -> 164 (-6.82%)
instructions helped: shaders/deqp_gles2/23497.shader_test FRAG: 176 -> 164 (-6.82%)
instructions helped: shaders/glamor/82.shader_test FRAG: 280 -> 260 (-7.14%)
instructions helped: shaders/chromeos/21.shader_test VERT: 56 -> 52 (-7.14%)
instructions helped: shaders/chromeos/15.shader_test VERT: 56 -> 52 (-7.14%)
instructions helped: shaders/tesseract/268.shader_test VERT: 152 -> 136 (-10.53%)
instructions helped: shaders/tesseract/270.shader_test VERT: 184 -> 164 (-10.87%)
instructions helped: shaders/tesseract/272.shader_test VERT: 216 -> 192 (-11.11%)
instructions helped: shaders/tesseract/266.shader_test VERT: 88 -> 76 (-13.64%)
instructions helped: shaders/deqp_gles2/23488.shader_test VERT: 112 -> 96 (-14.29%)
instructions helped: shaders/deqp_gles2/23491.shader_test FRAG: 112 -> 96 (-14.29%)
instructions helped: shaders/chromeos/102.shader_test VERT: 168 -> 144 (-14.29%)
instructions helped: shaders/deqp_gles2/23449.shader_test FRAG: 64 -> 52 (-18.75%)
instructions helped: shaders/deqp_gles2/23446.shader_test VERT: 64 -> 52 (-18.75%)
instructions helped: shaders/deqp_gles2/23461.shader_test FRAG: 124 -> 100 (-19.35%)
instructions helped: shaders/deqp_gles2/23458.shader_test VERT: 124 -> 100 (-19.35%)
instructions helped: shaders/chromeos/39.shader_test VERT: 124 -> 100 (-19.35%)
temps helped: shaders/chromeos/102.shader_test VERT: 6 -> 5 (-16.67%)
temps helped: shaders/deqp_gles2/23470.shader_test VERT: 5 -> 4 (-20.00%)
temps helped: shaders/deqp_gles2/23473.shader_test FRAG: 5 -> 4 (-20.00%)
temps HURT: shaders/tesseract/272.shader_test VERT: 6 -> 7 (16.67%)
immediates helped: shaders/deqp_gles2/23470.shader_test VERT: 24 -> 20 (-16.67%)
immediates helped: shaders/deqp_gles2/23473.shader_test FRAG: 24 -> 20 (-16.67%)
immediates helped: shaders/chromeos/102.shader_test VERT: 8 -> 4 (-50.00%)
immediates helped: shaders/chromeos/39.shader_test VERT: 8 -> 4 (-50.00%)
immediates HURT: shaders/glamor/88.shader_test FRAG: 32 -> 36 (12.50%)
immediates HURT: shaders/deqp_gles2/23494.shader_test VERT: 4 -> 8 (100.00%)
immediates HURT: shaders/deqp_gles2/23497.shader_test FRAG: 4 -> 8 (100.00%)
total instructions in shared programs: 1123728 -> 1123392 (-0.03%)
instructions in affected programs: 3644 -> 3308 (-9.22%)
helped: 24
HURT: 0
helped stats (abs) min: 4 max: 24 x̄: 14.00 x̃: 12
helped stats (rel) min: 3.66% max: 19.35% x̄: 10.74% x̃: 8.83%
95% mean confidence interval for instructions value: -17.11 -10.89
95% mean confidence interval for instructions %-change: -13.03% -8.45%
Instructions are helped.
total temps in shared programs: 86978 -> 86976 (<.01%)
temps in affected programs: 22 -> 20 (-9.09%)
helped: 3
HURT: 1
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 16.67% max: 20.00% x̄: 18.89% x̃: 20.00%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%
95% mean confidence interval for temps value: -2.09 1.09
95% mean confidence interval for temps %-change: -38.40% 18.40%
Inconclusive result (value mean confidence interval includes 0).
total immediates in shared programs: 141464 -> 141460 (<.01%)
immediates in affected programs: 104 -> 100 (-3.85%)
helped: 4
HURT: 3
helped stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4
helped stats (rel) min: 16.67% max: 50.00% x̄: 33.33% x̃: 33.33%
HURT stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4
HURT stats (rel) min: 12.50% max: 100.00% x̄: 70.83% x̃: 100.00%
95% mean confidence interval for immediates value: -4.53 3.38
95% mean confidence interval for immediates %-change: -48.17% 70.79%
Inconclusive result (value mean confidence interval includes 0).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9039 >
2021-02-23 14:55:34 +00:00
Christian Gmeiner
1837135f7c
etnaviv: nir: add ubo lowering pass
...
Adds a pass to lower the load_ubo intrinsics for block 0 back
to load_uniform intrinsic.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9039 >
2021-02-23 14:55:34 +00:00
Daniel Schürmann
ffebe48013
aco: don't rematerialize exec
...
Since exec is not considered a temporary anymore,
we accidentally allowed to rematerialize it.
Fixes: a56ddca4e8 ('aco: make all exec accesses non-temporaries')
Closes : #4327
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9215 >
2021-02-23 14:41:31 +00:00
Christian Gmeiner
337ba88293
vc4: let st lower rect tex
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
9c67324542
etnaviv: let st lower rect tex
...
Before this change we used a dummy load_uniform to represent texcoord
scale. That dummy load was converted to a load_const where we are using
the upper 32 bits to store the uniform content type and that breaks nir's
validation. With the new nir_intrinsic_load_texture_scaling we know the
uniform type and do not need to go from load_ubo->load_const (with type
information).
shader-db for GC3000:
instructions helped: shaders/tesseract/491.shader_test FRAG: 260 -> 248 (-4.62%)
instructions helped: shaders/tesseract/494.shader_test FRAG: 256 -> 244 (-4.69%)
instructions helped: shaders/tesseract/238.shader_test FRAG: 244 -> 232 (-4.92%)
instructions helped: shaders/tesseract/241.shader_test FRAG: 244 -> 232 (-4.92%)
instructions helped: shaders/tesseract/127.shader_test FRAG: 80 -> 76 (-5.00%)
instructions helped: shaders/tesseract/130.shader_test FRAG: 156 -> 148 (-5.13%)
instructions helped: shaders/tesseract/226.shader_test FRAG: 204 -> 192 (-5.88%)
instructions helped: shaders/tesseract/229.shader_test FRAG: 204 -> 192 (-5.88%)
instructions helped: shaders/tesseract/217.shader_test FRAG: 164 -> 152 (-7.32%)
instructions helped: shaders/tesseract/214.shader_test FRAG: 164 -> 152 (-7.32%)
instructions helped: shaders/tesseract/205.shader_test FRAG: 124 -> 112 (-9.68%)
instructions helped: shaders/tesseract/202.shader_test FRAG: 124 -> 112 (-9.68%)
instructions helped: shaders/tesseract/169.shader_test FRAG: 36 -> 32 (-11.11%)
instructions helped: shaders/tesseract/166.shader_test FRAG: 36 -> 32 (-11.11%)
instructions helped: shaders/tesseract/118.shader_test FRAG: 32 -> 28 (-12.50%)
instructions helped: shaders/tesseract/181.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/178.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/121.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/193.shader_test FRAG: 84 -> 72 (-14.29%)
instructions helped: shaders/tesseract/190.shader_test FRAG: 84 -> 72 (-14.29%)
temps HURT: shaders/tesseract/494.shader_test FRAG: 6 -> 7 (16.67%)
temps HURT: shaders/tesseract/491.shader_test FRAG: 6 -> 7 (16.67%)
total instructions in shared programs: 1122112 -> 1121920 (-0.02%)
instructions in affected programs: 2676 -> 2484 (-7.17%)
helped: 20
HURT: 0
helped stats (abs) min: 4 max: 12 x̄: 9.60 x̃: 12
helped stats (rel) min: 4.62% max: 14.29% x̄: 8.92% x̃: 8.50%
95% mean confidence interval for instructions value: -11.14 -8.06
95% mean confidence interval for instructions %-change: -10.65% -7.18%
Instructions are helped.
total temps in shared programs: 86942 -> 86944 (<.01%)
temps in affected programs: 12 -> 14 (16.67%)
helped: 0
HURT: 2
total immediates in shared programs: 141216 -> 141216 (0.00%)
immediates in affected programs: 0 -> 0
helped: 0
HURT: 0
total loops in shared programs: 0 -> 0
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
LOST: 0
GAINED: 0
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
06f409a8c1
etnaviv: nir: support nir_intrinsic_load_texture_rect_scaling
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
7c40e9a322
ttn: lower rectangle textures if not supported
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
08e072015a
gallium/st: lower rectangle textures if not supported
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
758a2d5343
gallium: add PIPE_CAP_TEXRECT
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
8cb52f6735
nir/lower_tex: wider usage of nir_tex_instr_src_index(..)
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Suggested-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00