aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* radv: Use correct buffer count with variable descriptor set sizes.Bas Nieuwenhuizen2020-04-083-1/+3
| | | | | | | | | Fixes dEQP-VK.binding_model.descriptorset_random.sets16.noarray.ubolimitlow.sbolimitlow.imglimitlow.iublimitlow.frag.ialimitlow.0 CC: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2607 Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4489>
* radv: Whitespace fixup.Bas Nieuwenhuizen2020-04-081-1/+0
| | | | | | | | Review comment that I did, but forgot to git add before amending ... From https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4334 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4488>
* radv: set sparseAddressSpaceSize to RADV_MAX_MEMORY_ALLOCATION_SIZESamuel Iglesias Gonsálvez2020-04-081-1/+1
| | | | | | | Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4487>
* radv: check buffer size in vkCreateBuffer()Samuel Iglesias Gonsálvez2020-04-081-0/+3
| | | | | | | | | | | Fixes: dEQP-VK.api.buffer.basic.size_max_uint64 Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4487>
* radv: Consider maximum sample distances for entire grid.Bas Nieuwenhuizen2020-04-081-4/+6
| | | | | | | | | | | | The other pixels in the grid might have samples with a larger distance than the (0,0) pixel. Fixes dEQP-VK.pipeline.multisample.sample_locations_ext.verify_location.samples_8_packed when CTS is compiled with clang. CC: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4480>
* radv: enable lowering of GS intrinsics for the LLVM backendSamuel Pitoiset2020-04-084-50/+29
| | | | | | | | | | | | | | | | | | | | | | | | This replaces emit_vertex with: if (vertex_count < max_vertices) { emit_vertex_with_counter vertex_count ... vertex_count += 1 } Which is exactly what NIR->LLVM was doing but at NIR level. This pass is already called by ACO. pipeline-db changes on GFX10: Totals from affected shaders: SGPRS: 1952 -> 1912 (-2.05 %) VGPRS: 2112 -> 2044 (-3.22 %) Code Size: 189368 -> 185620 (-1.98 %) bytes Max Waves: 494 -> 491 (-0.61 %) No pipeline-db changes on other generations. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4182>
* radv: remove radv_layout_has_htile() helperSamuel Pitoiset2020-04-083-38/+8
| | | | | | | | | | | | | | | The goal of this function was to return whether a depth-stencil image has HTILE, in comparison to radv_layout_is_htile_compressed() which is used to know whether a depth-stencil image has HTILE compressed. These two functions are actually similar and they have never been used for what they were supposed to. Remove radv_layout_has_htile() in favour of radv_layout_is_htile_compressed() for now. If it's needed in the future, I will re-introduce this concept properly. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: cleanup creating the decompress/resummarize pipelinesSamuel Pitoiset2020-04-081-26/+15
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: rename extra graphics pipeline decompress/resummarize fieldsSamuel Pitoiset2020-04-083-9/+9
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: rename decompress/resummarize depth/stencil functionsSamuel Pitoiset2020-04-083-27/+27
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* turnip: fix compute shaders crashing after geometry shader changeJonathan Marek2020-04-081-4/+6
| | | | | | | Fixes: 1af71bee734da7d8 ("turnip: Set has_gs in ir3_shader_key") Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4483>
* nir: make opt_if_loop_terminator() less strictTimothy Arceri2020-04-081-1/+1
| | | | | | | | | nir_cf_{extract,reinsert}() can't stitch a block together if the block we are extracting ends in a jump but other jumps nested in further ifs should be fine to move. Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4477>
* radeonsi: don't lower constant arrays to uniforms in GLSL IRTimothy Arceri2020-04-081-0/+1
| | | | | | | | | | | | | | | This re-enables the change made in 2f5783bc2b82 which was incorrectly disabled by 3e1dd99adca5. For radeonsi, we will prefer the NIR pass as it'll generate better code (some index calculation and a single load vs. a load, then index calculation, then another load) and oftentimes NIR optimization can kick in and make all the access indices constant. Fixes: 3e1dd99adca5 ("radeonsi: Remove a bunch of default handling of pipe caps.") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4474>
* meson: fix debug build on AndroidDominik Behr2020-04-071-1/+10
| | | | | | | | | | | debug_stack functions are implemented in another file for Android. Also add backtrace library dependency. Reviewed-by: Chia-I Wu <[email protected]> Reviewed-bu: Kristian H. Kristensen <[email protected]> Signed-off-by: Dominik Behr <[email protected]> Acked-by: Dylan Baker <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2435>
* radv: Store 64-bit availability bools if requested.Bas Nieuwenhuizen2020-04-071-71/+56
| | | | | | | | | Fixes dEQP-VK.query_pool.*.reset_before_copy.* on RAVEN. CC: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2296 Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4334>
* gallivm: Add missing header for powf.Vinson Lee2020-04-071-0/+1
| | | | | | | | | | | | | | | | | | | Fix build error after llvm-11 commit 3a29393b4709 ("Remove math.h/cmath include from DataTypes.h"). src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c: In function ‘lp_build_linear_to_srgb’: src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:194:44: error: implicit declaration of function ‘powf’ [-Werror=implicit-function-declaration] 194 | exp2f_c * powf(coeff_f, 1.0f / exp_f)); | ^~~~ src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:194:44: warning: incompatible implicit declaration of built-in function ‘powf’ src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:78:1: note: include ‘<math.h>’ or provide a declaration of ‘powf’ 77 | #include "lp_bld_format.h" +++ |+#include <math.h> 78 | Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4473>
* turnip: Drop dep_llvm from dependenciesKristian H. Kristensen2020-04-071-1/+0
| | | | | Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Make Android platform buildKristian H. Kristensen2020-04-073-23/+24
| | | | | | | We still don't have a way to keep this from breaking, but I don't think this ever built. Let's call it progress. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Stub out VK_KHR_external_{fence,semaphore}_fdKristian H. Kristensen2020-04-072-0/+40
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Add missing VKAPI_ATTR annotationsKristian H. Kristensen2020-04-073-5/+5
| | | | | | Make sure the types match. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* freedreno/a6xx: Set a level's pitch based on minified level0 pitch, not width0.Eric Anholt2020-04-072-13/+274
| | | | | | | | | | | | Found from piglit fbo-generatemipmaps failures, then tracked down with the texturator test. The piece that really revealed things was finding that 1024x1 linear RGBA8 on the older blob drivers would have a pitch of 5120 instead of 4096, and the following levels minified that pitch. Fixes ~124 piglit tests (~8.5% of piglit failures) on cheza. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno: Add the outline of a test for a6xx texture layout.Eric Anholt2020-04-073-1/+244
| | | | | | | | | | Trying to work out texture layout by remembering what things looked like in texturator is hard. Instead, let's use texture layouts from tracing the blob as a source of truth to make sure that we pick the same layouts they do (and don't break known-good ones). More testcases will be added as I fix layout bugs. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Drop the "alignment" layout temporary.Eric Anholt2020-04-071-10/+3
| | | | | | | It's just 1 for !3d, which means that the align we're doing in that case is pointless. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Remove the "aligned_height" temporary.Eric Anholt2020-04-071-5/+3
| | | | | | Now that we're not incrementally minifying height, we can just modify it. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Sink the per-level size temps inside the loop.Eric Anholt2020-04-071-17/+5
| | | | | | | u_minify(n, 1) is no cheaper than u_minify(n, level), and this makes the logic a lot simpler to follow. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* anv/gen12: Lower VK_KHR_multiview using Primitive ReplicationCaio Marcelo de Oliveira Filho2020-04-078-16/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Identify if view_index is used only for position calculation, and use Primitive Replication to implement Multiview in Gen12. This feature allows storing per-view position information in a single execution of the shader, treating position as an array. The shader is transformed by adding a for-loop around it, that have an iteration per active view (in the view_mask). Stores to the position now store into the position array for the current index in the loop, and load_view_index() will return the view index corresponding to the current index in the loop. The feature is controlled by setting the environment variable ANV_PRIMITIVE_REPLICATION_MAX_VIEWS, which defaults to 2 if unset. For pipelines with view counts larger than that, the regular instancing will be used instead of Primitive Replication. To disable it completely set the variable to 0. v2: Don't assume position is set in vertex shader; remove only stores for position; don't apply optimizations since other passes will do; clone shader body without extract/reinsert; don't use last_block (potentially stale). (Jason) Fix view_index immediate to contain the view index, not its order. Check for maximum number of views supported. Add guard for gen12. v3: Clone the entire shader function and change it before reinsert; disable optimization when shader has memory writes. (Jason) Use a single environment variable with _DEBUG on the name. v4: Change to use new nir_deref_instr. When removing stores, look for mode nir_var_shader_out instead of the walking the list of outputs. Ensure unused derefs are removed in the non-position part of the shader. Remove dead control flow when identifying if can use or not primitive replication. v5: Consider all the active shaders (including fragment) when deciding that Primitive Replication can be used. Change environment variable to ANV_PRIMITIVE_REPLICATION. Squash the emission of 3DSTATE_PRIMITIVE_REPLICATION into this patch. Disable Prim Rep in blorp_exec_3d. v6: Use a loop around the shader, instead of manually unrolling, since the regular unroll pass will kick in. Document that we don't expect to see copy_deref or load_deref involving the position variable. Recover use_primitive_replication value when loading pipeline from the cache. Set VARYING_SLOT_LAYER to 0 in the shader. Earlier versions were relying on ForceZeroRTAIndexEnable but that might not be sufficient. Disable Prim Rep in cmd_buffer_so_memcpy. v7: Don't use Primitive Replication if position is not set, fallback to instancing; change environment variable to be ANV_PRIMITVE_REPLICATION_MAX_VIEWS and default it to 2 based on experiments. Reviewed-by: Rafael Antognolli <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2313> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2313>
* intel/fs: Allow multiple slots for positionCaio Marcelo de Oliveira Filho2020-04-0713-17/+46
| | | | | | | | | | | | | | | | | | | | | | Change brw_compute_vue_map() to also take the number of pos slots. If more than one slot is used, the VARYING_SLOT_POS is treated as an array. When using Primitive Replication, instead of a single position, the VUE must contain an array of positions. Padding might be necessary (after clip distance) to ensure rest of attributes start aligned. v2: Add note about array in the commit message and assert that pos_slots >= 1 to make clear 0 is invalid. (Jason) Move padding to be after the clip distance. v3: Apply the correct offset when gathering the sources from outputs. Reviewed-by: Jason Ekstrand <[email protected]> [v2] Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2313>
* intel/gen12: Add XML description for 3DSTATE_PRIMITIVE_REPLICATIONCaio Marcelo de Oliveira Filho2020-04-071-0/+16
| | | | | | | | | v2: Use groups for the 16-element arrays "Viewport Offset" and "RTAI Offset". (Ken) Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2313>
* nir: Add per_view attribute to nir_variableCaio Marcelo de Oliveira Filho2020-04-077-8/+42
| | | | | | | | | | | | | If a nir_variable is tagged with per_view, it must be an array with size corresponding to the number of views. For slot-tracking, it is considered to take just the slot for a single element -- drivers will take care of expanding this appropriately. This will be used to implement the ability of having per-view position in a vertex shader in Intel platforms. Acked-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2313>
* mesa: add support for NV_pixel_buffer_objectSimon Ser2020-04-072-5/+16
| | | | | | | | Signed-off-by: Simon Ser <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4422> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4422>
* turnip: implement timestamp queryJonathan Marek2020-04-072-55/+86
| | | | | | | | | Passes tests in: dEQP-VK.pipeline.timestamp.* Signed-off-by: Jonathan Marek <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4027> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4027>
* turnip: Enable geometryShader device featureBrian Ho2020-04-071-1/+1
| | | | | Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Enable geometry shaders for CP_DRAWsBrian Ho2020-04-071-4/+12
| | | | | | | Enable geometry shading on draw if the pipeline has a geometry stage. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Populate tu_pipeline.active_stagesBrian Ho2020-04-071-0/+6
| | | | | | | This can be used to determine if the pipeline has a specific shader stage (e.g. geometry shader). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Update maxGeometryShaderInvocations to match blobBrian Ho2020-04-071-1/+1
| | | | | | | | | | | | Geometry shaders support an invocations parameter up to a limit defined by maxGeometryShaderInvocations. This was set to 127, but executing with invocations > 32 causes a crash. As it turns out, the blob only advertises a max of 32 invocations, so we set that in turnip as well. Fixes dEQP-VK.geometry.instanced.draw_*_instances_{127, 64}_geometry_invocations Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Selectively configure GRAS_LAYER_CNTLBrian Ho2020-04-072-2/+9
| | | | | | | | | | | | | One of the features of geometry shaders is the ability to render to different layers by assigning to the gl_Layer (Layer in SPIR-V) builtin. While have already plumbed the layer regid to the geometry shader, we also need to GRAS_LAYER_CNTL to actually use layered rendering. In addition, gmem does not support layered rendering, so we need to force sysmem. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Set up REG_A6XX_SP_GS_CONFIGBrian Ho2020-04-071-6/+8
| | | | | | | Updates GS_CONFIG and HLSQ_GS_CNTL registers to match those emitted by the blob and fd. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Configure VFD_CONTROL with gsheader and primitiveidBrian Ho2020-04-071-7/+16
| | | | | | | | This commit updates VFD_CONTROL to use the GS header and primitive ID sysvals if a geometry shader stage is present in the pipeline. Like in the case of VPC, the code here is adapted from fd6_program. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Configure VPC for geometry shadersBrian Ho2020-04-074-60/+181
| | | | | | | | | | This commit updates tu6_emit_vpc to selectively emit GS-specifc configuration. Most of this is repurposed from fd6_program.c. This also refactors `link_geometry_stages` to ir3_nir_lower_tess.c so it can be shared between fd and tu. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Emit geometry shader obj and related constsBrian Ho2020-04-071-1/+49
| | | | | | | | | | | | | | | | Like with other shader types, we need to emit the geometry shader object and the consts it uses. In addition, we need to emit additional geometry-specific consts that link primitive/vertex stride between the vs and gs. In conjunction with the gsheader, these are used by the vs to determine where to stlw outputs and used by the gs to determine where to ldlw those outputs from. FD emits these consts in the draw call because in GL, you can mix and match shaders in different programs. In Vulkan, however, we compile and link the shaders at pipeline creation, so we can emit these in the pipeline IB instead. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* turnip: Set has_gs in ir3_shader_keyBrian Ho2020-04-071-2/+12
| | | | | | | | | The ir3 compiler only lowers the VS and GS for geometry shading if the corresponding has_gs key is set in the shader key. Without it, GS-specific intrinsics like load_per_vertex_input won't get lowered and the GS header will be initialized with invalid values. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4436>
* radv: Print shader stage before disassembly.Timur Kristóf2020-04-071-1/+5
| | | | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco: Print shader stage in aco_print_program.Timur Kristóf2020-04-071-0/+46
| | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* radv: Enable ACO for NGG VS/TES, but disable NGG for ACO GS.Timur Kristóf2020-04-072-4/+13
| | | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Run GS_ALLOC_REQ on priority 3 for NGG VS and TES.Timur Kristóf2020-04-071-0/+6
| | | | | | | | It is recommended to do this as quickly as possible. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Schedule position exports of NGG VS/TES.Timur Kristóf2020-04-071-1/+1
| | | | | | | | | Similarly to the HW VS stage, the HW NGG GS stage also benefits from executing these exports as early as possible. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Implement NGG VS and TES.Timur Kristóf2020-04-072-11/+270
| | | | | | | | | | | | | | | | | | | | | | | | | When NGG is used, vertex and tess eval shaders are executed on the hardware NGG geometry stage. There is a series of steps they must perform: * Request GS space using GS_ALLOC_REQ * Export the primitive * Finally, export the normal VS outputs In this commit, two modes are implemented: * "late" which matches what the RADV LLVM backend currently does * "early" which is an optimized version as seen in radeonsi Vulkan doesn't allow the shader to write the edge flags, so we can currently always use the "early" mode. Exporting the primitive ID is also supported by having the GS threads write that into LDS and reading them from LDS in the ES threads. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Setup NGG VS and TES stages.Timur Kristóf2020-04-071-6/+13
| | | | | | | | | ngg_vertex_gs and ngg_tess_eval_gs work very similarly to vertex_vs and tess_eval_vs, but they run on the HW NGG GS stage. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Fix exports for NGG VS and TES.Timur Kristóf2020-04-071-2/+2
| | | | | | | | | The exports in NGG VS and TES work just like VS exports, so the assembler needs to fix these too in the same manner. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
* aco/ngg: Initialize exec mask for NGG VS and TES.Timur Kristóf2020-04-071-1/+1
| | | | | | | | | They behave like merged ESGS shaders, so the exec mask needs to be manually initialized for these NGG shaders too. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>