aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pan/mdg: Analyze types for 64-bitness in RAAlyssa Rosenzweig2020-06-121-1/+15
| | | | | | | Instead of reg_mode. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5443>
* pan/mdg: Explicitly type 64-bit uniform movesAlyssa Rosenzweig2020-06-121-0/+2
| | | | | | | Instead of relying on reg_mode. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5443>
* turnip: add emit renderpass cache flushes for sysmem 3D CmdClearAttachmentsJonathan Marek2020-06-123-1/+8
| | | | | | | This clear path behaves like a draw, it needs the same flush as tu_draw. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426>
* turnip: add layered 3D path clear for CmdClearAttachmentsJonathan Marek2020-06-124-79/+142
| | | | | | | | | | | | | | | This fixes cases where the 3D path is used with layered rendering. Fixes dEQP-VK.renderpass.suballocation.multisample_resolve.layers* failures Note the blob's 3D fallback path behaves differently, and uses the framebuffer information to clear each layer individually (changing the MRT state each time). But that's not possible in all cases, and the blob fails to clear properly in dEQP-VK.geometry.layered.*.secondary_cmd_buffer cases. So this clear path is not based on the blob's behavior. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426>
* turnip: share code between 3D blit/clear path and tu_pipelineJonathan Marek2020-06-124-135/+108
| | | | | | | | Instead of filling out registers manually, fill out ir3 structs and re-use code from tu_pipeline. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426>
* turnip: pipeline program state refactorJonathan Marek2020-06-121-339/+217
| | | | | | | | | | | | This refactor simplifies things a bit, and will make it easier to share some logic with tu_clear_blit (see next patches). This changes the order in which some things are emitted, and emits less for disabled shader stages. There's also as extra write to SP_GS_PRIM_SIZE that is removed. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426>
* panfrost: Demote mediump varyings to fp16Alyssa Rosenzweig2020-06-121-2/+16
| | | | | | | Likewise lowp. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Override varying format to minimal precisionAlyssa Rosenzweig2020-06-121-5/+22
| | | | | | | Spec allows this! Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Use shader_info harderAlyssa Rosenzweig2020-06-122-18/+5
| | | | | | | We already have this metadata.. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Only store varying formatsAlyssa Rosenzweig2020-06-123-53/+10
| | | | | | | This reduces linking complexity. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Allow R/RG/RGB varyingsAlyssa Rosenzweig2020-06-122-4/+15
| | | | | | | This can be a bandwidth savings. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Remove unused routinesAlyssa Rosenzweig2020-06-121-51/+0
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Use new varying linkingAlyssa Rosenzweig2020-06-121-227/+54
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Add high-level varying emitAlyssa Rosenzweig2020-06-121-0/+94
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* panfrost: Add helper to determine if we are capturingAlyssa Rosenzweig2020-06-121-0/+15
| | | | | | | That is, is the varying setup for xfb *and* is there a buffer for it? Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
* 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>