summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl/linker: Don’t check precision for shader interfaceNeil Roberts2019-06-141-2/+5
| | | | | | | | | | | | | On GLES, the interface between vertex and fragment shaders doesn’t need to have matching precision. Section 4.3.10 of the GLSL ES 3.00 spec: “The type of vertex outputs and fragment inputs with the same name must match, otherwise the link command will fail. The precision does not need to match.” Reviewed-by: Eric Anholt <[email protected]>
* compiler/types: Making comparing record precision optionalNeil Roberts2019-06-142-5/+53
| | | | | | | | | | | | | | | On GLES, the interface between vertex and fragment shaders doesn’t need to have matching precision. This adds an extra argument to glsl_types::record_compare to disable the precision comparison. This will later be used for the shader interface check. In order to make this work this patch also adds a helper function to recursively compare types while ignoring the precision. v2: Call record_compare from within compare_no_precision to avoid duplicating code (Eric Anholt). Reviewed-by: Eric Anholt <[email protected]>
* etnaviv: fix some pm query issuesLucas Stach2019-06-141-2/+6
| | | | | | | | | | | The offsets to read the query results were off-by-one, which causes the counters to report bogus increasing values. Also the counter result is u32, so we need to initialize the query type to reflect that. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* v3d: do not setup execute flags for else block in uniform control flowIago Toral Quiroga2019-06-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Either all channels executed the 'then' block, in which case all channels will directly jump to the 'endif' block at the end of the 'then' block, or all channels execute the 'else' block (so no execution masking is necessary). Shader-db results: total instructions in shared programs: 9119238 -> 9117550 (-0.02%) instructions in affected programs: 401252 -> 399564 (-0.42%) helped: 855 HURT: 77 total uniforms in shared programs: 3022622 -> 3022605 (<.01%) uniforms in affected programs: 3566 -> 3549 (-0.48%) helped: 17 HURT: 0 total max-temps in shared programs: 1327762 -> 1327774 (<.01%) max-temps in affected programs: 619 -> 631 (1.94%) helped: 2 HURT: 15 Reviewed-by: Eric Anholt <[email protected]>
* nir: detect more dynamically uniform expressionsIago Toral Quiroga2019-06-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shader-db results for v3d: total instructions in shared programs: 9132728 -> 9119238 (-0.15%) instructions in affected programs: 596886 -> 583396 (-2.26%) helped: 1118 HURT: 224 total threads in shared programs: 234298 -> 234308 (<.01%) threads in affected programs: 10 -> 20 (100.00%) helped: 5 HURT: 0 total uniforms in shared programs: 3022949 -> 3022622 (-0.01%) uniforms in affected programs: 29163 -> 28836 (-1.12%) helped: 108 HURT: 37 total max-temps in shared programs: 1328030 -> 1327762 (-0.02%) max-temps in affected programs: 10097 -> 9829 (-2.65%) helped: 263 HURT: 15 total spills in shared programs: 3793 -> 3777 (-0.42%) spills in affected programs: 432 -> 416 (-3.70%) helped: 16 HURT: 0 total fills in shared programs: 4380 -> 4266 (-2.60%) fills in affected programs: 828 -> 714 (-13.77%) helped: 16 HURT: 0 Reviewed-by: Eric Anholt <[email protected]>
* ir3: initialize progress false before ir3_nir_lower_imulTapani Pälli2019-06-141-1/+1
| | | | | | | | | Removes a compiler warning about uninitialized variable. Fixes: c02ffd2700c "ir3: Use the new NIR lowering pass for integer multiplication" Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Eduardo Lima <[email protected]>
* panfrost: Fix general purpose varying handlingBoris Brezillon2019-06-134-15/+44
| | | | | | | | | | | | | When both the fragment and vertex shaders point to the same varying location they expect to share the same varying slot. Make sure vertex and fragment varyings pointing to the same loc have ->src_offset set to the same value. [Alyssa: In addition a patch implement txs, this fixes GALLIUM_HUD on Panfrost] Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* ac/registers: use better names for disambiguated definitionsMarek Olšák2019-06-131-4/+4
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* ac/registers: remove deprecated/inapplicable definitionsMarek Olšák2019-06-131-180/+0
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* iris: Enable INTEL_shader_atomic_float_minmaxCaio Marcelo de Oliveira Filho2019-06-131-0/+1
| | | | | | | Supported only for gen >= 9. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* gallium: Add PIPE_CAP_ATOMIC_FLOAT_MINMAXCaio Marcelo de Oliveira Filho2019-06-134-0/+5
| | | | | | | Used to enable INTEL_shader_atomic_float_minmax. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* freedreno/a6xx: fix MAX_INDICESRob Clark2019-06-131-2/+1
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/blitter: remove dead codeRob Clark2019-06-131-7/+0
| | | | | | | The src/dst format is overriden from the pipe_blit_info, so this just logic just serves to confuse the reader. Signed-off-by: Rob Clark <[email protected]>
* freedreno: turn staging cube into 2d-arrayRob Clark2019-06-131-0/+2
| | | | | | | Since we could only need a subset of the layers, and otherwise we trigger an assert in util_max_layer() Signed-off-by: Rob Clark <[email protected]>
* panfrost: ci: Exclude some tests from resultsTomeu Vizoso2019-06-131-1/+50
| | | | | | | | | | These are tests that regressed in RK3288 but still pass on RK3399. So we still have a CI we can rely on, add them to the flip-flop list for now. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: ci: Update test expectationsTomeu Vizoso2019-06-131-93/+5
| | | | | | | | | | Some tests got fixed since the last update, but also some regressions crept in. To keep the CI green, add the regressions to the expected failures. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* nir: Don't manually index intrinsic index enumConnor Abbott2019-06-131-20/+20
| | | | | | | This fixes a rebase fail in ea51275e07b, and prevents it from happening again. There's no reason to do this manually. Reviewed-by: Jason Ekstrand <[email protected]>
* docs: work around broken altsoftware.com linkErik Faye-Lund2019-06-131-1/+1
| | | | | | | | altsoftware.com seems to no longer be around, and is currently being held by a domain squatter. Let's link to waybackmachine instead. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: work around broken dsbox.com linkErik Faye-Lund2019-06-131-2/+3
| | | | | | | | dsbox.com now forwards to haystax.com, which is tehcnially unrealted to this link. Let's link to waybackmachine instead. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: work around broken sgi.com linksErik Faye-Lund2019-06-132-2/+3
| | | | | | | | sgi.com now forwards to hpe.com, which is technically unrelated to these links. Let's link to waybackmachine instead. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: update link to OpenGL FAQErik Faye-Lund2019-06-131-1/+1
| | | | | Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: update link to the Linux OpenGL ABIErik Faye-Lund2019-06-131-1/+1
| | | | | Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: update link to glwErik Faye-Lund2019-06-131-1/+1
| | | | | | | GLW is currently living in gitlab, the cgit-page is just a mirror. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: fixup link-targetErik Faye-Lund2019-06-131-1/+1
| | | | | | | | Just a couple of lines above, we have this exact same link, but this time with a leading "www.". Let's match that. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: eliminate another stale autoconf-referenceErik Faye-Lund2019-06-131-1/+1
| | | | | | | | Meson is what should tell you about these issues, not the configure script. We no longer have that. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: replace autoconf with mesonErik Faye-Lund2019-06-131-1/+1
| | | | | | | | We no longer have an autoconf build-system to maintain, but we do have a meson build-system. So let's mention that instead. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: update required packagesErik Faye-Lund2019-06-131-2/+2
| | | | | | | | Automake and libtool are no longer required to build, instead we need meson and ninja-build. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: remove pointless haiku-commentErik Faye-Lund2019-06-131-1/+0
| | | | | | | | | The only build system that doesn't support Haiku is `Android.mk`, which also doesn't support most other platforms either, so there is no need to single it out. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* docs: fixup typoErik Faye-Lund2019-06-131-1/+1
| | | | | Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* radv: enable AMD_shader_ballot with RADV_PERFTEST_SHADER_BALLOT ↵Daniel Schürmann2019-06-135-1/+9
| | | | | | ('shader_ballot') Reviewed-by: Connor Abbott <[email protected]>
* amd/common: add support for AMD_shader_ballot functionsDaniel Schürmann2019-06-131-0/+20
| | | | Reviewed-by: Connor Abbott <[email protected]>
* spirv/nir: add support for AMD_shader_ballot and Groups capabilityDaniel Schürmann2019-06-136-11/+139
| | | | | | | | This commit also renames existing AMD capabilities: - gcn_shader -> amd_gcn_shader - trinary_minmax -> amd_trinary_minmax Reviewed-by: Connor Abbott <[email protected]>
* nir: add intrinsics for AMD_shader_ballotDaniel Schürmann2019-06-133-0/+31
| | | | Reviewed-by: Connor Abbott <[email protected]>
* radv: enable shader_subgroup_vote & shader_subgroup_ballot extensionsDaniel Schürmann2019-06-131-0/+2
| | | | Reviewed-by: Connor Abbott <[email protected]>
* nir/spirv: add support for the SubgroupBallotKHR SPIR-V capabilityDaniel Schürmann2019-06-132-7/+13
| | | | | | This capability is required for the VK_EXT_shader_subgroup_ballot extension. Reviewed-by: Connor Abbott <[email protected]>
* nir/spirv: add support for the SubgroupVoteKHR SPIR-V capabilityDaniel Schürmann2019-06-132-4/+20
| | | | | | This capability is required for the VK_EXT_shader_subgroup_vote extension. Reviewed-by: Connor Abbott <[email protected]>
* v3d: fix checking twice auf flagAlejandro Piñeiro2019-06-131-1/+1
| | | | | | | | | Seems a C&P error, and should check for auf/muf. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110902 Fixes: 8f065596d22ab000c53f "v3d: Add an optimization pass for redundant flags updates." Reviewed-by: Eric Anholt <[email protected]>
* radv: flush and invalidate CB before resetting query pools on GFX9Samuel Pitoiset2019-06-131-0/+4
| | | | | | | | | | | | We have to emit a CACHE_FLUSH_AND_INV_TS_EVENT to be sure all prior GPU work is done. While we are at it, also flush and invalidate DB. This fixes the following CTS (when the small hint is disabled): dEQP-VK.query_pool.statistics_query.reset_before_copy.* Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Bas Nieuwenhuizen <[email protected]>
* vl: Always enable drm winsys.Bas Nieuwenhuizen2019-06-133-21/+3
| | | | | | | | | | | | | | | | | | | | The dri2 winsys also uses libdrm (and you can only enable dri3 if you enable dri2), and the drm winsys only requires libdrm. So if any winsys is enabled you can also enable the drm winsys, and since we always want at least one winsys we can always enable it. I removed the check for the drm platform for VA and OMX since they do not care anymore. Since we still check for one of r600g, nouveau or radeonsi, we are guarantueed to still only enable it by default in a configuration that requires libdrm anyway. So for people using va=auto, we don't suddenly start requiring libdrm were we did not before. This supersedes "vl: Enable DRM by default.", which I pushed, but rolled back because it used dep_libdrm before its definition. Reviewed-by: Emil Velikov <[email protected]>
* radv: Always disable DCC on shareable images.Bas Nieuwenhuizen2019-06-131-3/+1
| | | | | | | Do not want it for perf reasons. Always have to disable DCC when transferring to external queue. Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: Skip transitions coming from external queue.Bas Nieuwenhuizen2019-06-131-0/+3
| | | | | | | | Transitions to external queue should do the transition & make sure it works on all queues. Fixes: 8ebc7dcb59a "radv: Allow fast clears with concurrent queue mask for some layouts." Reviewed-by: Samuel Pitoiset <[email protected]>
* lima/ppir: change offset type to intMateusz Krzak2019-06-132-2/+2
| | | | | | | | | | | | Offset doesn't need to be 64-bit. This fixes compilation error with 64-bit off_t. Fixes: af0de6b9 lima/ppir: implement discard and discard_if Suggested-by: Qiang Yu <[email protected]> Signed-off-by: Mateusz Krzak <[email protected]> Reviewed-by: Qiang Yu <[email protected]> Tested-by: Andreas Baierl <[email protected]>
* virgl: virgl_transfer should own its virgl_resourceChia-I Wu2019-06-122-8/+6
| | | | | | | | We should avoid having potentially dangling pointers to pipe_resources in general. Signed-off-by: Chia-I Wu <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* virgl: pass virgl_context to transfer create/destroyChia-I Wu2019-06-125-22/+21
| | | | | | | | A pipe_transfer is a context object. It is fine for the constructor/destructor to have access to the context. Signed-off-by: Chia-I Wu <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* virgl: init transfer queue from virgl_contextChia-I Wu2019-06-123-10/+11
| | | | | | | | A pipe_transfer is a context object. It is fine for virgl_transfer_queue to have access to the context. Signed-off-by: Chia-I Wu <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* virgl: clean up virgl_transfer_queue.hChia-I Wu2019-06-122-1/+13
| | | | | | | | Add header guard and forward declare structs. Move virgl_resource.h inclusion to the C file. Signed-off-by: Chia-I Wu <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]>
* radeonsi: add radeonsi_debug_disassembly optionNicolai Hähnle2019-06-122-6/+10
| | | | | | | | | | This dumps disassembly to the pipe_debug_callback together with shader stats. Can be used together with shader-db to get full disassembly of all shaders in the database. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: fix line splitting in si_shader_dump_assemblyNicolai Hähnle2019-06-121-1/+1
| | | | | | | Compute the count since the start of the current line instead of the count since the start of the the disassembly. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: raise the alignment of LDS memory for compute shadersNicolai Hähnle2019-06-121-1/+1
| | | | | | | This implies that the memory will always be at address 0, which allows LLVM to generate slightly better code. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: use an explicit symbol for the LSHS LDS memoryNicolai Hähnle2019-06-122-2/+20
| | | | Reviewed-by: Marek Olšák <[email protected]>