aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl: don't expose imageAtomicIncWrap for signed imagePierre-Eric Pelloux-Prayer2020-07-091-15/+29
| | | | | | | | | The spec says that it's only allowed for unsigned ones. Same from imageAtomicDecWrap. Fixes: fc0a2e5d017 ("glsl: add EXT_shader_image_load_store new image functions") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
* ac/llvm: remove the -1 hack from ac_atomic_inc_wrapPierre-Eric Pelloux-Prayer2020-07-091-10/+0
| | | | | | | To match the behavior of proprietary drivers. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
* glsl: reject size1x8 for image variable with floating-point data typesPierre-Eric Pelloux-Prayer2020-07-091-5/+7
| | | | | | Fixes: 8d07d66180b ("glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
* gitlab-ci: Remove left-behind rules:Tomeu Vizoso2020-07-091-2/+2
| | | | | | | | | | | | | | It's something that was added to ease development, but that was supposed to be removed before merging. It also causes problems when arm-related jobs aren't enabled, as arm_build is needed by these jobs but in that case isn't there. Also extend from .ci-run-policy. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5802>
* radv: compute prim_vertex_count at draw timeSamuel Pitoiset2020-07-093-27/+31
| | | | | | | | In preparation for the dynamic topology state. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5801>
* radv: adjust IA_MULTI_VGT_PARAM.PARTIAL_VS_WAVE at draw timeSamuel Pitoiset2020-07-092-14/+13
| | | | | | | | In preparation for the dynamic topology state. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5801>
* radv: adjust IA_MULTI_VGT_PARAM.WD_SWITCH_ON_EOP at draw timeSamuel Pitoiset2020-07-093-19/+14
| | | | | | | | In preparation for the dynamic topology state. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5801>
* radv: store the primitive topology hardware value in the pipelineSamuel Pitoiset2020-07-092-2/+2
| | | | | | | | Will help for upcoming changes. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5801>
* radv: implement missing VK_ACCESS_MEMORY_{READ,WRITE}_BITSamuel Pitoiset2020-07-091-0/+24
| | | | | | | | | | | | | | | | | | From the Vulkan spec 1.2.146: "VK_ACCESS_MEMORY_READ_BIT specifies all read accesses. It is always valid in any access mask, and is treated as equivalent to setting all READ access flags that are valid where it is used." "VK_ACCESS_MEMORY_WRITE_BIT specifies all write accesses. It is always valid in any access mask, and is treated as equivalent to setting all WRITE access flags that are valid where it is used." Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3241 Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5807>
* nv50/ir: fix memset on non trivial types warningKarol Herbst2020-07-093-5/+3
| | | | | | Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Rhys Kidd <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* nine: remove unused varTimothy Arceri2020-07-091-1/+0
| | | | | Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* zink: fix missing fallthrough commentTimothy Arceri2020-07-091-0/+1
| | | | | Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* v3d: remove redefine of VG(x)Timothy Arceri2020-07-091-8/+0
| | | | | | | Instead just depend on the one in v3d_packet_helpers.h Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* freedreno: fix missing fallthrough commentsTimothy Arceri2020-07-091-0/+1
| | | | | Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* amd/llvm: Mark pointer function arguments as 32-byte aligned.Bas Nieuwenhuizen2020-07-083-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise LLVM does not see the pointers as allowing speculative loads. The pipeline-db results are pretty wild, but mostly what is to be expected from allowing more code movement in LLVM: Totals from affected shaders: SGPRS: 157728 -> 168336 (6.73 %) VGPRS: 158628 -> 158664 (0.02 %) Spilled SGPRs: 10845 -> 24753 (128.24 %) Spilled VGPRs: 13 -> 13 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 8 -> 8 (0.00 %) dwords per thread Code Size: 17189180 -> 17313712 (0.72 %) bytes LDS: 204 -> 204 (0.00 %) blocks Max Waves: 5700 -> 5687 (-0.23 %) Wait states: 0 -> 0 (0.00 %) This gives some boosts for shaders we can move a descriptor load outside a loop. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3159>
* glsl: don't validate array types in ir_dereference_variableMarek Olšák2020-07-081-1/+4
| | | | | | | | Fixes: 8d62969cfe8 - glsl: validate more stuff Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3245 Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5813>
* radv: use bitshifts for debug enum valuesSimon Ser2020-07-081-36/+36
| | | | | | | | | Explicit values are getting out of hand. Signed-off-by: Simon Ser <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5735>
* freedreno/layout: layout simplifications and pitch from level 0 pitchJonathan Marek2020-07-0833-320/+177
| | | | | | | | | | | | This updates a3xx/a4xx/a5xx to fix the fetchsize to "PITCHALIGN" (called "MINLINEOFFSET" by the a3xx docs), and some simplifications to make things more like a6xx. Also similar simplifications for a2xx layout code. The pitch can always be determined using a simple calculation from the base level pitch, so don't pre-calculate a pitch for each mipmap level. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796>
* freedreno: add a fd_resource_pitch helperJonathan Marek2020-07-0817-76/+56
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796>
* freedreno/a2xx: fix compressed texturesJonathan Marek2020-07-081-2/+2
| | | | | | | | | | | Two problems: * Multiply has higher priority than shift * rsc->layout.format isn't initialized for a2xx Fixes: 5a8718f01b397 ("freedreno: Make the slice pitch be bytes, not pixels.") Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796>
* docs: Document how to interact with docker containers.Eric Anholt2020-07-081-0/+32
| | | | | | | | There's some text in gitlab-ci.yml, but expand on things a bit here. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510>
* docs: Relax the expectations of HW CI farms.Eric Anholt2020-07-081-3/+2
| | | | | | | | | We've been doing pretty well at around half an hour per pipeline, no need to be too harsh. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510>
* docs: Move the gitlab-ci docs to RST.Eric Anholt2020-07-085-263/+263
| | | | | | | | | I tried not to edit too much meaning in the process, but I did shuffle some stuff around to work as structured documentation. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510>
* docs: Move the conformance and the CI docs to a top level Testing section.Eric Anholt2020-07-082-4/+10
| | | | | | | | They're related subjects, and deserve top level display. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510>
* docs: Move the current CI .rst doc to docs/ci/ and link to it from .gitlab-ci.Eric Anholt2020-07-083-1/+2
| | | | | | | | | | | I want the docs to be discoverable next to the code, and sphinx insists that all docs are under the top-level docs dir (sigh). We can't symlink from that dir to .gitlab-ci because windows builds can't do symlinks, so link back the other direction. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510>
* nir/validate: Don't abort() until after the shader has printedJason Ekstrand2020-07-081-33/+7
| | | | | | | | | | | | | | | | | | | | | In the case where SSA use/def chains are broken, NIR prints out a very cryptic error and then aborts. This abort happens during validation rather than after the print is complete, hiding any other errors that may have been found. One might think, "So what? Fix your use/def issue first." However, what makes this especially bad is that, when use/def chains are broken, there's usually a much nicer error inline in the shader that would have been printed had we not aborted early so the current behavior simply ensures you get the most cryptic error possible in an already difficult-to-debug case. While we're at it, we remove the one other case of abort() which is in the validation of phi instruction sources. Reviewed-by: Rob Clark <[email protected]> Tested-by: Marcin Ślusarz <[email protected]> Reviewed-by: Marcin Ślusarz <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5809>
* Revert "ac/surface: require that gfx8 doesn't have DCC in order to be ↵Marek Olšák2020-07-081-4/+3
| | | | | | | | | | | | displayable" This reverts commit 7406ea37e6b666d474ab62982ca333d518c84231. Fixes: 7406ea37 "ac/surface: require that gfx8 doesn't have DCC in order to be displayable" Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3190 Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5780>
* zink: translate gl_FragColor to gl_FragData before ntv to fix multi-rt outputMike Blumenkrantz2020-07-082-5/+6
| | | | | | | | | | | according to EXT_multiview_draw_buffers, gl_FragColor outputs to all available render targets when used, so we need to translate this to gl_FragData[PIPE_MAX_COLOR_BUFS] in order to correctly handle more than one color buffer attachment this fixes the rest of spec@arb_framebuffer_object tests in piglit Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5687>
* nir: add lowering pass for fragcolor -> fragdataMike Blumenkrantz2020-07-083-0/+111
| | | | | | | | this is needed for zink and other drivers which can support fragcolor but not fragdata and want to correctly handle EXT_multiview_draw_buffers Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5687>
* zink: expose depth-clip if supportedErik Faye-Lund2020-07-082-4/+2
| | | | | | | | We already set up the state as needed, so it should only be a matter of exposing it. Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5495>
* radv: Use correct semaphore handle type for Android import.Bas Nieuwenhuizen2020-07-081-1/+1
| | | | | | | | | | | Coincidentally got a bugreport of a game that is broken without the import fix below, but it turns out I made a copy-paste error as well .. In good news it is clearly tested now. Fixes: ad151499583 "radv: Set handle types in Android semaphore/fence import." Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5783>
* radv: set depth/stencil enable values correctly for the meta clear pathSamuel Pitoiset2020-07-081-3/+3
| | | | | | | | They are booleans. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5803>
* freedreno/regs: document CS shared storage size bitJonathan Marek2020-07-081-1/+10
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5797>
* v3d/compiler: Fix sorting the gs and fs inputsNeil Roberts2020-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | ntq_setup_fs_inputs and ntq_setup_gs_inputs sort the inputs according to the driver location. This input array is then used to calculate the VPM offset for the outputs in the previous stage. However, it wasn’t taking into account variables that are packed into a single varying slot. In that case they would have the same driver_location and are distinguished by location_frac. This patch makes it additionally sort by location_frac when the driver locations are equal. This can happen when the compiler packs varyings that are sized less than vec4. Without this fix, when the VPM is used to transmit data free-form between the stages (such as VS->GS) then it would end up writing to inconsistent locations. Fixes dEQP tests such as: dEQP-GLES31.functional.primitive_bounding_box.lines.global_state. vertex_geometry_fragment.default_framebuffer_bbox_equal Fixes: 5d578c27cec ("v3d: add initial compiler plumbing for geometry shaders") Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jose Maria Casanova Crespo <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5787>
* panfrost: add some missing fallthrough comments to bi_pack.cTimothy Arceri2020-07-081-0/+3
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* panfrost: hide more unused code in bi_lower_combine.cTimothy Arceri2020-07-081-1/+3
| | | | | | | Fixes some unused-function warnings. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* panfrost: add some missing fallthrough commentsTimothy Arceri2020-07-081-0/+2
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* nouveau/nvc0: silence maybe-uninitialized warningTimothy Arceri2020-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc is not smart enough to see that enum pipe_format dst_fmt; ... switch (data_size) { case 16: dst_fmt = PIPE_FORMAT_R32G32B32A32_UINT; ... break; case 12: /* RGB32 is not a valid RT format. This will be handled by the pushbuf * uploader. */ break; case 8: dst_fmt = PIPE_FORMAT_R32G32_UINT; ... break; case 4: dst_fmt = PIPE_FORMAT_R32_UINT; ... break; case 2: dst_fmt = PIPE_FORMAT_R16_UINT; ... break; case 1: dst_fmt = PIPE_FORMAT_R8_UINT; break; default: assert(!"Unsupported element size"); return; } ... if (data_size == 12) { ... return; } Does not result in dst_fmt being uninitialized when it is used so lets just initialise it to silence the warning. Reviewed-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* iris: silence maybe-uninitialized for stc_dst_aux_usage variableTimothy Arceri2020-07-081-2/+2
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* iris: fix maybe-uninitialized warning for initial_state variableTimothy Arceri2020-07-081-0/+1
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* radeonsi: fix SI_NUM_ATOMSTimothy Arceri2020-07-081-1/+1
| | | | | | | | This is not used anywhere so maybe we should just drop it instead. Fixes: 639b673fc3b8 ("radeonsi: don't use an indirect table for state atoms") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* r600/radeonsi: silence zero-length-bounds gcc warningsTimothy Arceri2020-07-083-8/+9
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* freedreno/ir3: add support for a650 tess shared storageJonathan Marek2020-07-086-5/+29
| | | | | | | | A650 uses LDL/STL, and the "local_primitive_id" in tess ctrl shader comes from bits 16-21 in the header instead of 0-5. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5764>
* gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporariesMarek Olšák2020-07-0721-0/+27
| | | | | Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower mediump temporaries to 16 bits except structures (v2)Marek Olšák2020-07-074-2/+1028
| | | | | | | | | | | Without this, NIR contains non-lowerable 32-bit phis for mediump variables. Structures are not lowered yet. v2: add the LowerPrecisionTemporaries option Reviewed-by: Alyssa Rosenzweig <[email protected]> (v1) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: Handle 16-bit types in loop analysisAlyssa Rosenzweig2020-07-071-0/+9
| | | | | | | | | | Fixes crash with mediump lowering in: dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.basic_mediump_float_fragment Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: add capability to lower mediump array typesMarek Olšák2020-07-071-29/+48
| | | | | | | | This is not needed for lowering expressions, because they always work with basic types, but it will be needed for lowering variables. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower builtins to mediump that always return mediump or lowpMarek Olšák2020-07-072-2/+114
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower builtins to mediump that ignore precision of certain parametersMarek Olšák2020-07-072-0/+97
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: don't lower builtins to mediump that don't allow itMarek Olšák2020-07-074-15/+334
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>