aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl/lower_precision: Lower builtins depending on argumentsNeil Roberts2020-03-241-2/+105
| | | | | | | | | | | | | | | | | | | | | | When an ir_call is encountered that invokes a builtin, it will now try to generate a lowered version of the builtin. This only happens if all of the arguments to the function are lowerable. Previously the builtin would be inlined before the lowering pass is invoked and then the implementation would be lowered as a consequence of the pass. However this causes problems if the builtin has multiple arguments and the implementation has operations on only a few of the arguments before combining it with the others. In that case the entire builtin should only be lowered if all of the arguments are lower precision. The previous approach would end up lowering only parts of the implementation. The lowered implementations are cached in a hash table in case they can be reused. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl: Inline builtins in a separate passNeil Roberts2020-03-246-5/+68
| | | | | | | | | | | | | | | Previously, the ir_call functions for builtin functions were replaced with the inline implementation immediately after being added to the instruction list. This patch replaces that with a separate pass that lowers them after the conversion from AST to IR is complete. This will be useful to be able to insert some handling for the precision lowering pass before the inlining. This needs to happen because the precision of the operations in the inlined implementation depends on the highest precision of all of the arguments to the call. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* freedreno/ir3: enable nir_opt_loop_unroll on a6xxHyunjun Ko2020-03-241-1/+1
| | | | | | | | | | | | | If precision lowering happens at GLSL IR, loop_analysis at IR doesn't work as expected since it can't handle things like: "(expression bool < (expression float16_t f2fmp (var_ref ndx) ) (constant float16_t (1.000000)) )" So we'd rather do this optimization at the NIR stage. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* freedreno/ir3: Lower bools to bitsizeNeil Roberts2020-03-241-1/+1
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* nir: add a bool bitsize lowering passIago Toral Quiroga2020-03-244-0/+434
| | | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* freedreno: Enable mediump loweringHyunjun Ko2020-03-242-2/+4
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl: Add unit tests for the lower_precision passNeil Roberts2020-03-242-0/+400
| | | | | | | | | 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 <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl/standalone: Add an option to lower the precisionNeil Roberts2020-03-243-0/+10
| | | | | | | | | | 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 <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl: Add an IR lowering pass to convert mediump operations to 16-bitNeil Roberts2020-03-248-0/+642
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl/hierarchical_visitor: Call leave_callback on leaf nodesNeil Roberts2020-03-242-12/+20
| | | | | | | | | | | 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 <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* glsl: Add a method to get precision from a deref instructionNeil Roberts2020-03-241-0/+28
| | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
* i965/iris: fix crash when calling GetPerfQueryDataINTELLionel Landwerlin2020-03-241-0/+9
| | | | | | | | | On a query that was never begun. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4302> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4302>
* glthread: compile marshal_generated.c faster by breaking it up into 8 filesMarek Olšák2020-03-246-25/+93
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected] Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* glthread: declare marshal and unmarshal functions as non-staticMarek Olšák2020-03-242-7/+11
| | | | | | | | Declare them in the header file. Then we can split marshal_generated.c into multiple files. Reviewed-by: Alyssa Rosenzweig <[email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* glthread: inline SET_func and add -O1 to build _mesa_create_marshal_table fasterMarek Olšák2020-03-241-1/+9
| | | | | | | The compile time of marshal_generated.c improved from 30.1s to 12.4s. Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* radv: enable VK_KHR_8bit_storage on GFX6-GFX7Samuel Pitoiset2020-03-241-1/+1
| | | | | | | | | | | | | | | 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 <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4299> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4299>
* util/u_process: fix Windows buildPierre-Eric Pelloux-Prayer2020-03-241-1/+2
| | | | | | | | | | Reported by Brian Paul. Fixes: f8f1413070a ("util/u_process: add util_get_process_exec_path") Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4303> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4303>
* pan/bi: Rewrite aligned vectors as wellAlyssa Rosenzweig2020-03-241-15/+62
| | | | | | | | | | | 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 <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288>
* pan/bi: Lower combines to rewrites for scalarsAlyssa Rosenzweig2020-03-241-7/+141
| | | | | | | | This avoids unneeded moves for scalars. It still generates suboptimal code for vectors, however. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288>
* pan/bi: Ingest vecN directly (again)Alyssa Rosenzweig2020-03-247-48/+89
| | | | | | | | Last time, I swear. We still generate writemasks but SSA-like ones and do the lowering ourselves. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288>
* turnip: implement depth clampJonathan Marek2020-03-243-11/+30
| | | | | | Signed-off-by: Jonathan Marek <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293>
* turnip: fix znear clippingJonathan Marek2020-03-241-1/+2
| | | | | | | | | Vulkan clips znear at 0 instead of -1. Fixes dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_* Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293>
* freedreno/registers: more GRAS_CL_CNTL bits, Z_CLAMPJonathan Marek2020-03-243-6/+20
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4293>
* aco: implement 64-bit VGPR constant copies in handle_operands()Rhys Perry2020-03-242-4/+39
| | | | | | | | | | | | | | | 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 <[email protected]> Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4260> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4260>
* aco: remove dead code in handle_operands()Rhys Perry2020-03-241-19/+3
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4260>
* nir/gather_info: fix per-vertex handling in try_mask_partial_ioRhys Perry2020-03-241-3/+7
| | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> CC: <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4190> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4190>
* radeonsi: enable workarounds for YoYo engine based gamesPierre-Eric Pelloux-Prayer2020-03-241-0/+17
| | | | | | | | | | | | | | | | 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 <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181>
* util/xmlconfig: add new sha1 application attributePierre-Eric Pelloux-Prayer2020-03-242-2/+30
| | | | | | | | | | 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181>
* util/u_process: add util_get_process_exec_pathPierre-Eric Pelloux-Prayer2020-03-244-0/+141
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181>
* util/os_file: extend os_read_file to return the file sizePierre-Eric Pelloux-Prayer2020-03-243-4/+9
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181>
* radeonsi: clarify the conditions when FLUSH_AND_INV_DB is neededPierre-Eric Pelloux-Prayer2020-03-243-17/+7
| | | | | | | | | | | | | | | | 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 <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4263> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4263>
* intel/dump_gpu: Handle a bunch of getparam in the no-HW caseJason Ekstrand2020-03-241-2/+47
| | | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250>
* intel/dump_gpu: Add an ensure_device_info helperJason Ekstrand2020-03-241-9/+17
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250>
* anv: Stop fetching the timestamp frequency ourselvesJason Ekstrand2020-03-241-13/+0
| | | | | | | | 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4250>
* egl/android: enable/disable KHR_partial_update correctlyChia-I Wu2020-03-231-3/+5
| | | | | | | | | | | | | | | | | | Commit f3728816af (egl/android: require ANDROID_native_fence_sync for buffer age) re-added some stale code removed in commit b4345da8762 (egl/android: Delete set_damage_region from egl dri vtbl). Remove it now. Commit b4345da8762 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 <[email protected]> Reviewed-by: Lepton Wu <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4235> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4235>
* ci: Ban the recent popular freedreno a630 intermittent failure.Eric Anholt2020-03-231-0/+1
| | | | | | | | | | 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>
* st/mesa: fix use of uninitialized memory due to st_nir_lower_builtinMarek Olšák2020-03-231-1/+1
| | | | | | | | | reported by valgrind Cc: 19.3 20.0 <[email protected]> Reviewed-by: Rob Clark <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4274> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4274>
* aco: fix boolean undef regclassRhys Perry2020-03-231-0/+2
| | | | | | | | Cc: <[email protected]> Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4285> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4285>
* lima: Add missing source file to Android.mkRoman Stratiienko2020-03-231-0/+1
| | | | | | | Reviewed-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Roman Stratiienko <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4283> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4283>
* intel/tools/aubinator_error_decode: Decode ring buffers from HEAD to TAILD Scott Phillips2020-03-231-5/+43
| | | | | | | | | | | | | | | 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 <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4261> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4261>
* docs/features: Update virgl OpenGL 4.5 featuresElie Tournier2020-03-231-2/+2
| | | | | | | | | GL_ARB_clip_control and GL_KHR_robustness are now expose in the guest. Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4160> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4160>
* intel/tools/aubinator_error_decode: read HW Context before other batchesD Scott Phillips2020-03-231-0/+18
| | | | | | | | | | | 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 <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4246> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4246>
* iris: Set patch count threshold in 3DSTATE_HSSagar Ghuge2020-03-231-0/+7
| | | | | | | | | | Lets specifiy maximum number of patches that will be accumulated before a thread is dispatched. Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563>
* anv: Set patch count threshold in 3DSTATE_HSSagar Ghuge2020-03-231-0/+7
| | | | | | | | | Lets specifiy maximum number of patches that will be accumulated before a thread is dispatched. Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563>
* intel/compiler: Track patch count thresholdSagar Ghuge2020-03-232-0/+33
| | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563>
* intel/genxml: Add patch count threshold field on gen12Sagar Ghuge2020-03-231-0/+1
| | | | | | Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3563>
* gitlab-ci/traces: Add Vulkan sample entries for POLARIS10Andres Gomez2020-03-231-1/+9
| | | | | | | | | | | v2: - Updated commit log. Signed-off-by: Andres Gomez <[email protected]> Acked-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4103> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4103>
* gitlab: add bug report templateDenys2020-03-231-0/+54
| | | | | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4089> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4089>
* aco: emit IR in IF's merge block instead if the other side ends in a jumpRhys Perry2020-03-231-6/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> CC: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2557 Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658>
* aco: improve check for unreachable loop continue blocksRhys Perry2020-03-231-6/+10
| | | | | | | | | | | | | | | | | | | | 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 <[email protected]> CC: <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658>