Neil Roberts
61f7a1dfc5
freedreno/ir3: Lower bools to bitsize
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Iago Toral Quiroga
467c9a0faa
nir: add a bool bitsize lowering pass
...
The pass lowers 1-bit booleans produced by NIR to the native bitsize
of the operations that produce them.
v2: change on lower_load_const_instr after upstream changes. Added
TODO2 to explain it, as it was not properly tested yet (see
already existing TODO) (Neil)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Hyunjun Ko
75674ed4d4
freedreno: Enable mediump lowering
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Neil Roberts
cc09745714
glsl: Add unit tests for the lower_precision pass
...
Adds a unit tests script that invokes the standalone compiler with
--lower-precision and verifies that lowered operations are being used.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Neil Roberts
32cd3bd850
glsl/standalone: Add an option to lower the precision
...
Adds a --lower-precision option that just sets the LowerPrecision
compiler option. That way it can be used in unit tests to test the
precision lowering pass.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Neil Roberts
b83f4b9fa2
glsl: Add an IR lowering pass to convert mediump operations to 16-bit
...
This works by finding the first rvalue that it can lower using an
ir_rvalue_visitor. In that case it adds a conversion to float16
after each rvalue and a conversion back to float before storing
the assignment.
Also it uses a set to keep track of rvalues that have been
lowred already. The handle_rvalue method of the rvalue visitor doesn’t
provide any way to stop iteration. If we handle a value in
find_precision_visitor we want to be able to stop it from descending into
the lowered rvalue again.
Additionally this pass disallows converting nodes containing non-float.
The can_lower_rvalue function explicitly excludes any branches
that have non-float types except bools. This avoids the need to have
special handling for functions that convert to int or double.
Co-authored-by: Hyunjun Ko <zzoon@igalia.com >
v2. Adds lowering for texture samples
v3. Instead of checking whether each node can be lowered while walking the
tree, a separate tree walk is now done to check all of the nodes in a
single pass. The lowerable nodes are added to a set which is checked
during find_precision_visitor instead of calling can_lower_rvalue.
v4. Move the special case for temporaries to find_lowerable_rvalues. This
needs to be handled while checking for lowerable rvalues so that any
later dereferences of the variable will see the right precision.
v5. Add an override to visit ir_call instructions and apply the same
technique to override the precision of the temporary variable in the
same way as done for builtin temporaries and ir_assignment calls.
v6. Changes the pass so that it doesn’t need to lower an entire subtree in
order do perform a lowering. Instead, certain instructions can be
marked as being indepedent of their child instructions. For example,
this is the case with array dereferences. The precision of the array
index doesn’t have any bearing on whether things using the result of
the array deref can be lowered.
Now, only toplevel lowerable nodes are added to the lowerable_rvalues
instead instead of additionally adding all of the subnodes.
It now also only needs one hash table instead of two.
v7. Don’t try to lower sampler types. Instead, the sample instruction is
now treated as an independent point where the result of the sample can
be used in a lowered section. The precision of the sampler type
determines the precision of the sample instruction. This also means
the coordinates to the sampler can be lowered.
v8. Use f2fmp instead of f2f16.
v9. Disable lowering derivatives calcualtions, which might not work
properly on some hw backends.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Neil Roberts
c525785edc
glsl/hierarchical_visitor: Call leave_callback on leaf nodes
...
Previously for leaf ir_instructions only the enter callback was
called. This makes it a bit difficult to make a pass that wants to
visit every instruction using a stack. Making it call the leave
callback as well makes it behave less surprisingly.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Neil Roberts
0e1680a1e2
glsl: Add a method to get precision from a deref instruction
...
Adds ir_dereference::precision(). For a normal variable dereference,
the precision comes from the variable. For a record member it comes
from the field within the record. For an array it can come from
either, depending on where the underlying array is stored. The method
recursively walks the derefs until it finds one of the first two.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885 >
2020-03-24 23:21:21 +00:00
Lionel Landwerlin
ba56684a14
i965/iris: fix crash when calling GetPerfQueryDataINTEL
...
On a query that was never begun.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4302 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4302 >
2020-03-24 22:54:12 +00:00
Marek Olšák
8a3e2cd9b2
glthread: compile marshal_generated.c faster by breaking it up into 8 files
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Marek Olšák
cadddbd269
glthread: declare marshal and unmarshal functions as non-static
...
Declare them in the header file. Then we can split marshal_generated.c
into multiple files.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Marek Olšák
03da51eb07
glthread: inline SET_func and add -O1 to build _mesa_create_marshal_table faster
...
The compile time of marshal_generated.c improved from 30.1s to 12.4s.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270 >
2020-03-24 16:28:30 -04:00
Samuel Pitoiset
238e2ed210
radv: enable VK_KHR_8bit_storage on GFX6-GFX7
...
Enabling a Vulkan extension doesn't mean that all features need
to be implemented. DOOM Eternal crashes at launch if that ext
is not supported but it doesn't matter if the features are enabled
or not.
Let's enable it like we did for VK_KHR_16bit_storage.
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org >
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/4299 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4299 >
2020-03-24 16:34:21 +00:00
Pierre-Eric Pelloux-Prayer
bd22a0f710
util/u_process: fix Windows build
...
Reported by Brian Paul.
Fixes: f8f1413070 ("util/u_process: add util_get_process_exec_path")
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4303 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4303 >
2020-03-24 15:58:34 +00:00
Alyssa Rosenzweig
6a4fadce12
pan/bi: Rewrite aligned vectors as well
...
This still isn't optimal, but it handles another common case where we
have a vector "prefix" and can rewrite directly. The last case is one
where writemasks and such would start coming into play and - for the
moment - is not worth the hike in complexity.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288 >
2020-03-24 15:29:35 +00:00
Alyssa Rosenzweig
5a3493c536
pan/bi: Lower combines to rewrites for scalars
...
This avoids unneeded moves for scalars. It still generates suboptimal
code for vectors, however.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288 >
2020-03-24 15:29:35 +00:00
Alyssa Rosenzweig
e0a51d5308
pan/bi: Ingest vecN directly (again)
...
Last time, I swear. We still generate writemasks but SSA-like ones and
do the lowering ourselves.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288 >
2020-03-24 15:29:35 +00:00
Jonathan Marek
04509dae7f
turnip: implement depth clamp
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293 >
2020-03-24 13:01:44 +00:00
Jonathan Marek
afe27d5345
turnip: fix znear clipping
...
Vulkan clips znear at 0 instead of -1.
Fixes dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293 >
2020-03-24 13:01:44 +00:00
Jonathan Marek
07a8100aed
freedreno/registers: more GRAS_CL_CNTL bits, Z_CLAMP
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293 >
2020-03-24 13:01:44 +00:00
Rhys Perry
43918c9a7f
aco: implement 64-bit VGPR constant copies in handle_operands()
...
64-bit VGPR constant copies can happen because of 64-bit constant copy
propagation. Since this optimization is beneficial and more annoying to
deal with in the optimizer, I've implemented 64-bit VGPR constant copies
in handle_operands().
This also sets copy_operation::size correctly for 64-bit constant copies.
Cc: 20.0 <mesa-stable@lists.freedesktop.org >
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/4260 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4260 >
2020-03-24 11:28:55 +00:00
Rhys Perry
21ba2bc595
aco: remove dead code in handle_operands()
...
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/4260 >
2020-03-24 11:28:55 +00:00
Rhys Perry
9f4ba2d2b4
nir/gather_info: fix per-vertex handling in try_mask_partial_io
...
pipeline-db (Navi, ACO):
Totals from affected shaders:
SGPRS: 6432 -> 6432 (0.00 %)
VGPRS: 11924 -> 11924 (0.00 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Scratch size: 1596 -> 1596 (0.00 %) dwords per thread
Code Size: 575524 -> 518620 (-9.89 %) bytes
LDS: 12187 -> 12187 (0.00 %) blocks
Max Waves: 2695 -> 2695 (0.00 %)
Helps a few hundred Dark Souls 3 shaders.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4190 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4190 >
2020-03-24 11:09:15 +00:00
Pierre-Eric Pelloux-Prayer
f1cc13727c
radeonsi: enable workarounds for YoYo engine based games
...
Without the radeonsi_sync_compile option the games crashes at
startup.
The engine seems to be using a custom global new operator and
it doesn't plays well with multithreading it seems.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1310
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1271
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1272
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1288
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2611
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181 >
2020-03-24 08:33:29 +01:00
Pierre-Eric Pelloux-Prayer
8f48e7b1e9
util/xmlconfig: add new sha1 application attribute
...
This is useful to enable workarounds for applications with a generic name.
For instance all games made with the YoYo game engine have the same executable
name "runner".
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181 >
2020-03-24 08:33:29 +01:00
Pierre-Eric Pelloux-Prayer
f8f1413070
util/u_process: add util_get_process_exec_path
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181 >
2020-03-24 08:30:34 +01:00
Pierre-Eric Pelloux-Prayer
2cb965e5b6
util/os_file: extend os_read_file to return the file size
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181 >
2020-03-24 08:30:34 +01:00
Pierre-Eric Pelloux-Prayer
bd6234f24b
radeonsi: clarify the conditions when FLUSH_AND_INV_DB is needed
...
FLUSH_AND_INV_DB should be done when we're changing surface state
registers of a bound depth target.
When depth_clear_value changes, si_state will modify
S_028038_ZRANGE_PRECISION so we need to flush the DB caches.
Verified with the captures from bugs cited below.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1283
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1330
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4263 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4263 >
2020-03-24 08:05:12 +01:00
Jason Ekstrand
67a10ea215
intel/dump_gpu: Handle a bunch of getparam in the no-HW case
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250 >
2020-03-24 06:28:29 +00:00
Jason Ekstrand
7fd4184378
intel/dump_gpu: Add an ensure_device_info helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250 >
2020-03-24 06:28:29 +00:00
Jason Ekstrand
be451f71ab
anv: Stop fetching the timestamp frequency ourselves
...
gen_get_device_info_from_fd fetches the timestamp frequency from the
kernel. ANV also carrying code for it is redundant.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250 >
2020-03-24 06:28:28 +00:00
Chia-I Wu
d63d000686
egl/android: enable/disable KHR_partial_update correctly
...
Commit f3728816af (egl/android: require ANDROID_native_fence_sync
for buffer age) re-added some stale code removed in commit
b4345da876 (egl/android: Delete set_damage_region from egl dri
vtbl). Remove it now.
Commit b4345da876 assumes KHR_partial_update is only
driver-dependent. That is mostly true except that the extension
also introduces buffer age query, which depends on
ANDROID_native_fence_sync on Android.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lepton Wu <lepton@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4235 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4235 >
2020-03-23 16:22:24 -07:00
Eric Anholt
41412cc4b7
ci: Ban the recent popular freedreno a630 intermittent failure.
...
This popped up last thursday. The only relevant code commit was my pixel
center half integer change, but the more likely thing to me seems to be
having shuffled the test order by introducing more skips the day before.
Link: https://gitlab.freedesktop.org/mesa/mesa/issues/2670
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4287 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4287 >
2020-03-23 20:22:53 +00:00
Marek Olšák
719063d4d0
st/mesa: fix use of uninitialized memory due to st_nir_lower_builtin
...
reported by valgrind
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4274 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4274 >
2020-03-23 20:01:31 +00:00
Rhys Perry
17c7f4e30e
aco: fix boolean undef regclass
...
Cc: <mesa-stable@lists.freedesktop.org >
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/4285 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4285 >
2020-03-23 19:43:09 +00:00
Roman Stratiienko
4ed12efb58
lima: Add missing source file to Android.mk
...
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Signed-off-by: Roman Stratiienko <roman.stratiienko@nure.ua >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4283 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4283 >
2020-03-23 19:26:29 +00:00
D Scott Phillips
1182a3934a
intel/tools/aubinator_error_decode: Decode ring buffers from HEAD to TAIL
...
Capture the HEAD and TAIL register values from the dump and
properly index the ring buffer using those. Previously we would
decode the ring buffer from the beginning, printing out whatever
happened to be there.
Also, properly pass the `from_ring` parameter to gen_print_batch()
so that decoding doesn't stop once MI_BATCH_BUFFER_END is
encoutered.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4261 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4261 >
2020-03-23 19:10:50 +00:00
Elie Tournier
84e707e6f2
docs/features: Update virgl OpenGL 4.5 features
...
GL_ARB_clip_control and GL_KHR_robustness are now expose in the guest.
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4160 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4160 >
2020-03-23 18:49:13 +00:00
D Scott Phillips
49f9a0bb57
intel/tools/aubinator_error_decode: read HW Context before other batches
...
The hardware context buffer has state that was set before the
batch started. By decoding it first, references to things like
Dynamic State Base Address are decodable in the command batches.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4246 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4246 >
2020-03-23 18:13:37 +00:00
Sagar Ghuge
c40acdef52
iris: Set patch count threshold in 3DSTATE_HS
...
Lets specifiy maximum number of patches that will be accumulated before
a thread is dispatched.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563 >
2020-03-23 17:57:57 +00:00
Sagar Ghuge
60c789543e
anv: Set patch count threshold in 3DSTATE_HS
...
Lets specifiy maximum number of patches that will be accumulated before
a thread is dispatched.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563 >
2020-03-23 17:57:57 +00:00
Sagar Ghuge
1a5ac646ce
intel/compiler: Track patch count threshold
...
Return the number of patches to accumulate before an 8_PATCH mode thread
is launched.
v2: (Kenneth Graunke)
- Track patch count threshold instead of input control points.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563 >
2020-03-23 17:57:57 +00:00
Sagar Ghuge
b3dd54fe13
intel/genxml: Add patch count threshold field on gen12
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563 >
2020-03-23 17:57:57 +00:00
Andres Gomez
39ac87bf50
gitlab-ci/traces: Add Vulkan sample entries for POLARIS10
...
v2:
- Updated commit log.
Signed-off-by: Andres Gomez <agomez@igalia.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4103 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4103 >
2020-03-23 17:36:32 +00:00
Denys
6bca192e12
gitlab: add bug report template
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4089 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4089 >
2020-03-23 17:15:42 +00:00
Rhys Perry
9d56ed199b
aco: emit IR in IF's merge block instead if the other side ends in a jump
...
Fixes NIR such as:
if (divergent) {
a = sgpr()
} else {
break;
}
use(a)
Previously we would have emitted:
if (divergent) {
a = sgpr()
}
if (!divergent) {
break;
}
use(a)
But "a" isn't available at it's use. Now we emit:
if (divergent) {
}
if (!divergent) {
break;
}
a = sgpr()
use(a)
pipeline-db (Navi):
Totals from affected shaders:
SGPRS: 1936 -> 1936 (0.00 %)
VGPRS: 1264 -> 1264 (0.00 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 159408 -> 159152 (-0.16 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 81 -> 81 (0.00 %)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
CC: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2557
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658 >
2020-03-23 15:55:12 +00:00
Rhys Perry
8d8c864beb
aco: improve check for unreachable loop continue blocks
...
The old code would have previously caught:
loop {
...
break
}
when it was meant to just catch:
loop {
if (...)
break
else
break
}
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658 >
2020-03-23 15:55:12 +00:00
Rhys Perry
46e94fd854
aco: skip NIR in unreachable merge blocks
...
NIR removes most of this but undef instructions for loop header phis can
remain. These were harmless because ACO would DCE them itself.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658 >
2020-03-23 15:55:12 +00:00
Rhys Perry
638cbc21a1
aco: handle when ACO adds new continue edges
...
Usually a loop ends with a uniform continue. If it doesn't and we end up
adding our own continue edges (because of continue_or_break or divergent
breaks at the end), we have to add extra operands to the loop header phis.
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/3658 >
2020-03-23 15:55:12 +00:00
Rhys Perry
f2c4878de9
aco: handle missing second predecessors at merge block phis
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658 >
2020-03-23 15:55:12 +00:00