aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* panfrost: Emit xfb recordsAlyssa Rosenzweig2020-06-121-0/+45
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Emit special varyingsAlyssa Rosenzweig2020-06-121-0/+18
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Emit unlinked varyingsAlyssa Rosenzweig2020-06-121-0/+30
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Determine varying buffer presenceAlyssa Rosenzweig2020-06-121-0/+39
| | | | | | | | Essentially the same logic as before, but the assumptions are much more explicit. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Introduce bitfields for tracking varyingsAlyssa Rosenzweig2020-06-121-0/+43
| | | | | | | | | | Rather than having all sorts of random state flyng about with varying emission, we can use a simple present mask and general stride to encode everything we need for non-XFB cases, and layer XFB on top easily enough. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Add panfrost_streamout_offset helperAlyssa Rosenzweig2020-06-121-0/+7
| | | | | | | | Calculates the bias required for an xfb record in the src_offset field to account for truncating the address to force alignment. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Calculate varying size by formatAlyssa Rosenzweig2020-06-122-0/+28
| | | | | | | Will enable <16-byte varyings. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* pan/mdg: Avoid fusing ld_vary_16 with non-zero componentAlyssa Rosenzweig2020-06-121-0/+5
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* aco: fix shared subdword loadsDaniel Schürmann2020-06-121-1/+1
| | | | | | | | | Shared subdword loads don't need byte alignment as they are split into multiple loads if necessary. Fixes: 5cde4989d3c8c25b0ba2a11ec450625e30092b16 ('aco: remove unnecessary split- and create_vector instructions for subdword loads') Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5441>
* radv: enable radv_enable_mrt_output_nan_fixup for RAGE 2Samuel Pitoiset2020-06-121-0/+4
| | | | | | | | | To fix game artifacts. It's always sad to have to fix game bugs inside drivers ... Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5359>
* radv/llvm: implement radv_enable_mrt_output_nan_fixup workaroundSamuel Pitoiset2020-06-121-0/+24
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5359>
* aco: implement radv_enable_mrt_output_nan_fixup workaroundSamuel Pitoiset2020-06-121-0/+20
| | | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5359>
* radv: add new drirc option radv_enable_mrt_output_nan_fixupSamuel Pitoiset2020-06-125-0/+17
| | | | | | | | To replace NaN from FS with zeros to fix game bugs. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5359>
* glsl: fix incorrect optimisation in opt_constant_variable()Timothy Arceri2020-06-121-0/+9
| | | | | | | | | | | | | | | When handling function inputs the optimisation pass incorrectly assumes the inputs are undefined. Here we simply change things to assume inputs have always been assigned a value. Any further optimisations will be taken care of once function inlining takes place. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2984 Fixes: 65122e9e8038 ("ir_constant_variable: New pass to mark constant-assigned variables constant.") Reviewed-by: Danylo Piliaiev <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5413>
* radv: set DB_SHADER_CONTROL.CONSERVATIVE_Z_EXPORT correctlySamuel Pitoiset2020-06-123-0/+9
| | | | | | | | | Use the SPIR-V execution modes if set. Cc: 20.1 <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5404>
* android: nvir/gv100: update sources in Makefile.sourcesMauro Rossi2020-06-121-0/+6
| | | | | | | | | | | | | | | Fixes the following building errors: FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so ... ld.lld: error: undefined symbol: nv50_ir::getTargetGV100(unsigned int) ... ld.lld: error: undefined symbol: nv50_ir::getTargetGV100(unsigned int) clang-9: error: linker command failed with exit code 1 (use -v to see invocation) Fixes: 78103abe ("nvir/gv100: initial support") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Karol Herbst <[email protected]>
* freedreno/ir3: limit pre-fetched tex destRob Clark2020-06-113-4/+60
| | | | | | | | | | | | | | | | Teach RA to setup additional interference to prevent textures fetched before the FS starts from ending up in a register that is too high to encode. Fixes mis-rendering in multiple playcanv.as webgl apps. Note that the regression was not actually 733bee57eb8's fault, but that was the commit that exposed the problem. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3108 Fixes: 733bee57eb8 ("glsl: lower samplers with highp coordinates correctly") Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
* freedreno/ir3: remove RA "q-values" optimizationRob Clark2020-06-111-54/+3
| | | | | | | | | | This is mainly the "piglit optimization" (ie, since piglit launches an separate process for for each test). It was never wired up for a6xx, and makes register class setup unnecessarily complicated. Remove it to simplify the next patch. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
* freedreno/ir3: respect tex prefetch limitsRob Clark2020-06-112-21/+51
| | | | | | | | | Refactor a bit the limit checking in the bindless case, and add tex/samp limit checking for the non-bindless case, to ensure we do not try to prefetch textures which cannot be encoded in the # of bits available. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
* freedreno/ir3: add debug code to print conflicting half-regsRob Clark2020-06-111-0/+7
| | | | | | | | I keep re-typing this from time to time when debugging various things. Which is dumb. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
* nir/print: print tex dest typeRob Clark2020-06-111-15/+25
| | | | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
* iris/icl+: Report same caching domain as main surface for clear color BO.Francisco Jerez2020-06-111-2/+1
| | | | | | | | | | | | | | | | | Even though the clear color BO is bound as a read-only buffer, report the same caching domain as the main BO in use_surface() (typically IRIS_DOMAIN_RENDER_WRITE) in order to avoid ping-ponging back and forth between IRIS_DOMAIN_RENDER_WRITE and IRIS_DOMAIN_OTHER_READ, which leads to increased stall-at-pixel-scoreboard synchronization between draw calls. Fixes a 5%-10% FPS regression in some benchmarks spotted on ICL. Reported-by: Clayton Craft <[email protected]> Fixes: eb5d1c27227302167d299 "iris: Annotate all BO uses with domain and sequence number information." Closes: #3097 Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5411>
* android: aco: add aco_ir.cpp to Makefile.sourcesMauro Rossi2020-06-111-0/+1
| | | | | | | | | | | | | | | | | Fixes the following building errors: FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.radv_intermediates/LINKED/vulkan.radv.so ... ld.lld: error: undefined symbol: aco::can_use_SDWA(chip_class, std::__1::unique_ptr<aco::Instruction, aco::instr_deleter_functor> const&) ... ld.lld: error: undefined symbol: aco::can_use_opsel(chip_class, aco_opcode, int, bool) ... clang-9: error: linker command failed with exit code 1 (use -v to see invocation) Fixes: d9cfb8ad ("aco: validate instructions reading/writing upper halves/bytes") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5425>
* docs: update calendar, add news item, and link releases notes for 20.1.1Eric Engestrom2020-06-113-7/+4
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5421>
* docs: Add release notes for 20.1.1Eric Engestrom2020-06-111-0/+178
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5421>
* ac/surface: don't free dcc_retile_map on failureMarek Olšák2020-06-111-9/+4
| | | | | | | | | because the hash table now owns it. Fixes: bd553f0546d - ac/surface: cache DCC retile maps (v2) Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424>
* ac/surface: enable DCC for the first level in the mip tail on gfx10Marek Olšák2020-06-111-1/+10
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424>
* ac/surface: require that gfx8 doesn't have DCC in order to be displayableMarek Olšák2020-06-111-3/+4
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424>
* ac/surface: don't set is_displayable if displayable DCC is missingMarek Olšák2020-06-111-3/+6
| | | | | | | | If flags.display isn't set, then displayable DCC will not be computed, so is_displayable will always be false. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424>
* amd/addrlib: fix the C++ one definition rule violationMarek Olšák2020-06-112-2/+2
| | | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1854 Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5414>
* iris: Better handle metadata in NIR passesJason Ekstrand2020-06-111-2/+8
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* intel/nir: Call nir_metadata_preserve on !progressJason Ekstrand2020-06-115-6/+20
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* nir: Properly preserve metadata in more casesJason Ekstrand2020-06-1111-22/+78
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* nir: Call nir_metadata_preserve on !progressJason Ekstrand2020-06-1142-84/+87
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* nir: Add a nir_shader_preserve_all_metadata helperJason Ekstrand2020-06-112-0/+11
| | | | | | | | | There are some passes which really work on the shader level and it's easier if we have a helper which preserves metadata on the whole shader. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* nir: Add a nir_metadata_all enum valueJason Ekstrand2020-06-111-0/+9
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
* gallivm/sample: fix texel type for stencil 8-bitDave Airlie2020-06-111-1/+1
| | | | | | | | | | This has to be unsigned, so clamping works properly for border colors. Fixes dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_uint_stencil Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* gallivm/conv: enable conversion min code. (v2)Dave Airlie2020-06-113-63/+6
| | | | | | | | | | | | I'm not sure why this code was if (0), but if (1) for it fixes dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_float_color This test expects +inf to get mapped to 255 and -inf to 0, both values were ending up at 0. v2: also enable in the SSE paths Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* gallivm/format: convert unsigned values to float properly.Dave Airlie2020-06-112-6/+1
| | | | | | | | | | | | This fixes: dEQP-GLES31.functional.draw_indirect.random.2 which ends up with 3x32-bit USCALED values going down this path some of which have the top bit set, and end up converted to signed float instead of unsigned float values. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* llvmpipe: fix subpixel bits reporting.Dave Airlie2020-06-111-0/+2
| | | | | | | This fixes some vulkan tests later. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* gallivm/nir: add group barrier supportDave Airlie2020-06-112-2/+1
| | | | | | | | Fixes crash in dEQP-GLES31.functional.synchronization.inter_invocation.image_write_read Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* draw/gs: add more info to debugging.Dave Airlie2020-06-111-3/+4
| | | | | | | | adds invocations and vertex streams to default off debug, fixes compile as well due to missing , Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* draw/gs: fix emitting inactive primitives crashDave Airlie2020-06-112-1/+6
| | | | | | | | | | | | Fixes dEQP-GLES31.functional.geometry_shading.emit.line_strip_emit_1_end_1 This test only emits 1 primitive, but the stores don't respect the current mask, which might only have one lane active, for that single primitive. Also fix the final emit path to use the emitted_mask rather than the current execution mask. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
* ci: Leave a note as to what might be going on with a test.Eric Anholt2020-06-101-0/+2
| | | | | | | | | | dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z fails pretty strangely (given that we're passing everything else) and there's an old VK-GL-CTS bug open about this test, and it's suspicious that all the ARM drivers seem to have trouble with it. I tried dropping to -O0 on guilding that file in the CTS and it didn't help, though. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5419>
* freedreno/a6xx: Fix clip_halfz support.Eric Anholt2020-06-102-2/+4
| | | | | | Same bit as on other gens, apparently it just got missed on this one. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5419>
* nvc0: initial support for tu1xxBen Skeggs2020-06-1013-41/+1126
| | | | | | | | | v2: - add proper method definitions Signed-off-by: Ben Skeggs <[email protected]> Acked-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
* nvc0: initial support for gv100Ben Skeggs2020-06-1013-35/+578
| | | | | | | | | | v2: - remove unnecessary MAX2() - add proper method definitions Signed-off-by: Ben Skeggs <[email protected]> Acked-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
* nvc0: remove hardcoded blitter vertprogBen Skeggs2020-06-101-73/+39
| | | | | | | | I don't really feel like writing SM70 SASS by hand... Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
* nvc0: move setting of entrypoint for a shader stage to a functionBen Skeggs2020-06-103-14/+23
| | | | | | | | GV100 requires something different, cleaner to move this to a single place. Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
* nvc0: use NVIDIA headers for GP100- compute QMDBen Skeggs2020-06-107-141/+880
| | | | | | Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>