aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nir: Fix invalid code for MSVCDylan Baker2019-10-251-2/+2
| | | | | Fixes: ee2050b1111b65594f3470035f7b6f1330824684 ("nir: Use BITSET for tracking varyings in lower_io_arrays")
* docs: update releasing process to use new scripts and gitlabDylan Baker2019-10-251-37/+12
| | | | | | | There were several out of date entries in this document, update them to current practices. Reviewed-by: Juan A. Suarez <[email protected]>
* bin/gen_release_notes.py: Add a warning if new features are introduced in a ↵Dylan Baker2019-10-251-2/+5
| | | | | | | | point release Fixes: 86079447da1e00d49db0cbff9a102eb4e71e8702 ("scripts: Add a gen_release_notes.py script") Reviewed-by: Juan A. Suarez <[email protected]>
* bin/gen_release_notes.py: html escape all external dataDylan Baker2019-10-251-4/+7
| | | | | | | | | | | All of these (bug titles, patch titles, features, and people's names) can contain characters that are not valid html. Just escape everything for safety. Fixes: 86079447da1e00d49db0cbff9a102eb4e71e8702 ("scripts: Add a gen_release_notes.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/post_release.py: Add .html to hrefsDylan Baker2019-10-251-2/+3
| | | | | | | | | oops. Fixes: 3226b12a09bbcbd25526fd6da6257057d26ddb31 ("release: Add an update_release_calendar.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/post_version.py: white space fixesDylan Baker2019-10-251-1/+1
| | | | | | | Fixes: 3226b12a09bbcbd25526fd6da6257057d26ddb31 ("release: Add an update_release_calendar.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/post_version.py: Pass version as an argumentDylan Baker2019-10-251-16/+10
| | | | | | | | | | | I made a bad assumption; I assumed this would be run in the release branch. But we don't do that, we run in the master branch. As a result we need to pass the version as an argument. Fixes: 3226b12a09bbcbd25526fd6da6257057d26ddb31 ("release: Add an update_release_calendar.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/gen_release_notes.py: Return "None" if there are no new featuresDylan Baker2019-10-251-0/+2
| | | | | | | | | Which is very likely .Z > 0 releases. Fixes: 86079447da1e00d49db0cbff9a102eb4e71e8702 ("scripts: Add a gen_release_notes.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/gen_release_notes.py: strip '#' from gitlab bugsDylan Baker2019-10-251-1/+1
| | | | | | | | | If they use the `Fixes: #1` form. Fixes: 86079447da1e00d49db0cbff9a102eb4e71e8702 ("scripts: Add a gen_release_notes.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* bin/gen_release_notes.py: fix conditional of bugfixDylan Baker2019-10-251-1/+1
| | | | | | | | | | Previously this would result in the .0 warning be generated for .z > 0 and the .z == 0 would get the other message. Fixes: 86079447da1e00d49db0cbff9a102eb4e71e8702 ("scripts: Add a gen_release_notes.py script") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* mesa/main: Ignore filter state for MS texture completenessIllia Iorin2019-10-251-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | After the discussion in https://github.com/KhronosGroup/OpenGL-API/issues/45 the section 8.17 (texture completeness) of the OpenGL 4.6 core profile was changed to explicitly say that multisample texture completeness ignores filter state of the texture. "Using the preceding definitions, a texture is complete unless any of the following conditions hold true: ... - The minification filter requires a mipmap (is neither NEAREST nor LINEAR), the texture is not multisample, and the texture is not mipmap complete. - The texture is not multisample; either the magnification filter is not NEAREST, or the minification filter is neither NEAREST nor NEAREST_- MIPMAP_NEAREST; and any of – The internal format of the texture is integer (see table 8.12). – The internal format is STENCIL_INDEX. – The internal format is DEPTH_STENCIL, and the value of DEPTH_- STENCIL_TEXTURE_MODE for the texture is STENCIL_INDEX." Signed-off-by: Danylo Piliaiev <[email protected]> Signed-off-by: Illia Iorin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* Revert "mesa/main: Fix multisample texture initialize"Illia Iorin2019-10-251-25/+13
| | | | | | | | | | This reverts commit a113a42e7369a4e43a1db1c9a7a35a3f7175615e. Per https://github.com/KhronosGroup/OpenGL-API/issues/45 it was a wrong way to fix the issue. Signed-off-by: Illia Iorin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* glsl/serialize: optimize for equal offsets in uniform remap tablesMarek Olšák2019-10-251-2/+28
| | | | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1416 This decreases the shader cache size in the ticket from 1.6 MB to 40 KB. Reviewed-by: Timothy Arceri <[email protected]>
* glsl/serialize: restructure remap table codeMarek Olšák2019-10-251-63/+56
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* nir: Use VARYING_SLOT_TESS_MAX to size indirect bitmasksKenneth Graunke2019-10-251-2/+2
| | | | | | | | | | | MAX_VARYINGS_INCL_PATCH subtracts VARYING_SLOT_VAR0 giving us a size that's too small, so BITSET_SET writes words out of bounds, corrupting the stack and causing all kinds of chaos. VARYING_SLOT_TESS_MAX is the right value to use here, as it's the largest location. Closes: 2002 Fixes: ee2050b1111 ("nir: Use BITSET for tracking varyings in lower_io_arrays") Reviewed-by: Kristian H. Kristensen <[email protected]>
* Revert "ci: Disable lima until its farm can get fixed."Neil Armstrong2019-10-251-2/+2
| | | | | | | | This reverts commit fb9362c6fb9d5bd92073d31d3242614856b91f5d. Signed-off-by: Neil Armstrong <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]>
* Revert "mapi: Inline call x86_current_tls."Jason Ekstrand2019-10-251-7/+3
| | | | | | This reverts commit e137b3a9b71a2711c1f68c8a8b9c0a7407fbcc4b. It completely broke 32-bit EGL such that wflinfo can't even run without crashing.
* rbug: Fix use of alloca() without #include "c99_alloca.h"Jon Turney2019-10-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | [12/60] Compiling C object 'src/gallium/auxiliary/eb820e8@@gallium@sta/rbug_rbug_texture.c.o'. FAILED: src/gallium/auxiliary/eb820e8@@gallium@sta/rbug_rbug_texture.c.o [...] ../src/gallium/auxiliary/rbug/rbug_texture.c: In function 'rbug_send_texture_info_reply': ../src/gallium/auxiliary/rbug/rbug_texture.c:302:21: error: implicit declaration of function 'alloca'; did you mean 'malloc'? [-Werror=implicit-function-declaration] uint32_t *height = alloca(sizeof(uint32_t) * height_len); ^~~~~~ malloc ../src/gallium/auxiliary/rbug/rbug_texture.c:302:21: warning: initialization makes pointer from integer without a cast [-Wint-conversion] ../src/gallium/auxiliary/rbug/rbug_texture.c:303:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion] uint32_t *depth = alloca(sizeof(uint32_t) * height_len); ^~~~~~ cc1: some warnings being treated as errors Include c99_alloca.h to portably make the alloca() prototype available. See also: 498d9d0f, adfb9c5c, fc8139b1 Fixes: 6174cba7 ("rbug: fix transmitted texture sizes") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* pan/midgard: Express allocated registers as offsetsAlyssa Rosenzweig2019-10-251-104/+62
| | | | | | | | | | Rather than supplying a mask/swizzle to compose with the original, just supply the offset of the allocated register so we can directly offset the mask/swizzle, without resorting to composition. This is simpler, cleaner, and will generalize to non-32-bit. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Expose more typesize manipulation routinesAlyssa Rosenzweig2019-10-252-2/+4
| | | | | | These internal mir.c routines will help the RA. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Add mir_set_bytemask helperAlyssa Rosenzweig2019-10-252-0/+7
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* st/nine: Fix unused variable warnings in release build.Timur Kristóf2019-10-251-9/+9
| | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* st/nine: Fix build with -Werror=empty-bodyTimur Kristóf2019-10-251-3/+3
| | | | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1995 Fixes: 8d43e2b2ded0fe3c82d4 ("meson: add -Werror=empty-body to disallow `if(x);`") Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* aco: Refactor hazard mitigations, separate pass for GFX10.Timur Kristóf2019-10-251-70/+113
| | | | | | | | | | | | | | GFX10 hazards require a different approach compared to previous generations, for example it doesn't need s_nop, and most hazards can't be solved by adding NOPs at all. Also, they are not resolved by branch instructions. This commit reorganizes aco_insert_NOPs so that there is now a separate pass for GFX10. The new GFX10 pass also respects the control flow of the shader. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Fix mitigation of VMEMtoScalarWriteHazard.Timur Kristóf2019-10-251-10/+20
| | | | | | | | | | | | | | This commit refines the VMEMtoScalarWriteHazard mitigation, based upon a closer look at what LLVM does. Also changes the code to match the structure of the other hazard mitigations. * The hazard is not only triggered by VMEM, FLAT and GLOBAL but also SCRATCH and DS instructions. * The SMEM/SALU instructions only cause a hazard when they write a register that the VMEM/etc. are reading. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Mitigate LdsBranchVmemWARHazard.Timur Kristóf2019-10-252-0/+66
| | | | | | | | | There is a hazard caused by there is a branch between a VMEM/GLOBAL/SCRATCH instruction and a DS instruction. This commit adds a workaround that avoids the problem. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Mitigate SMEMtoVectorWriteHazard.Timur Kristóf2019-10-252-0/+70
| | | | | | | | | There is a hazard that happens when an SMEM instruction reads an SGPR and then a VALU instruction writes that same SGPR. This commit adds a workaround that avoids the problem. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Mitigate VcmpxExecWARHazard.Timur Kristóf2019-10-252-0/+59
| | | | | | | | | There is a hazard when a non-VALU instruction reads the EXEC mask and then a VALU instruction writes the EXEC mask. This commit adds a workaround that avoids the problem. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Mitigate VcmpxPermlaneHazard.Timur Kristóf2019-10-252-0/+28
| | | | | | | | Any permlane instruction that follows any VOPC instruction can cause a hazard, this commit implements a workaround that avoids this causing a problem. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco/gfx10: Add notes about some GFX10 hazards.Timur Kristóf2019-10-252-2/+37
| | | | | | | | | | ACO currently mitigates VMEMtoScalarWriteHazard and Offset3fBug (names from LLVM). There are some bugs that ACO needn't care about. Just to be on the safe side, add an assertion that makes sure that we aren't hit by FlatSegmentOffsetBug. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* radv: fix VK_KHR_shader_float_controls dependency on GFX6-7Samuel Pitoiset2019-10-251-3/+3
| | | | | | | | | | | | | | | From the Vulkan spec 1.1.126 : "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR specifies that shader float controls for 32-bit floating point can be set independently; other bit widths must be set identically to each other." Forgot to update this when I enabled that extension recently. Fixes dEQP-VK.spirv_assembly.instruction.compute.float_controls.independence_settings.independence_setting Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* mapi: Inline call x86_current_tls.Lepton Wu2019-10-241-3/+7
| | | | | | | | | This saves one return and a simple benchmark which calls glGetString repeatedly on my desktop shows it improves calls per second from 118M to 128M. Signed-off-by: Lepton Wu <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* virgl: Remove formats with unusual sample count.Lepton Wu2019-10-241-0/+3
| | | | | | | | | Most GPU require the sample count is power of 2. Just remove those formats with unusual sample count. This decreases dEQP EGL tests run time a lot. Signed-off-by: Lepton Wu <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* nir: Use BITSET for tracking varyings in lower_io_arraysKristian H. Kristensen2019-10-241-33/+22
| | | | | | | | | | | | | | | MAX_VARYINGS_INCL_PATCH is greater than 64, so we'll need more that 64 bits (per component) to track which vars have indirects. This pass was trying to track patch varyings (which start at bit 63) in a separate 64 bit word, but failed to subtract VARYING_SLOT_PATCH0 and accessed out of bounds. Do away with the ad-hoc bit mask tracking and just use a BITSET. Fixes: dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_implicit.triangles Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Signed-off-by: Kristian H. Kristensen <[email protected]>
* docs: update calendar, add news item and link release notes for 19.2.2Dylan Baker2019-10-243-10/+5
|
* docs: Add sha256 sum for 19.2.2Dylan Baker2019-10-241-1/+1
|
* docs: Add release notes for 19.2.2Dylan Baker2019-10-241-0/+147
|
* freedreno/ir3: handle the progress caseRob Clark2019-10-241-26/+35
| | | | | | | | | | In some cases, in particular when you have things that can be src modifiers ((abs)/(neg)), once eliminating one mov, there is a possibility to remove another. Handle this by re-visiting an instruction after eliminating a copy on one of it's srcs. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: remove restrictions on const + (abs)/(neg)Rob Clark2019-10-242-14/+6
| | | | | | | | | These date back to relatively early days of ir3, when a lot was still not well understood. But according to CI (and what I've seen blob driver do), these are not actually real restrictions. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: allow copy-propagate out of fanoutRob Clark2019-10-241-7/+27
| | | | | | | | | Now that we fixed the sharp edges that this was papering over, we can relax the restriction about eliminating a mov coming out of a fanout (for example from result of texture fetch). Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: treat high vs low reg as conversionRob Clark2019-10-241-1/+7
| | | | | | | | This avoids copy-propagating a high register into an instruction which cannot consume it. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: propagate dest flags for collect/faninRob Clark2019-10-241-3/+9
| | | | | | | | | | | We did this properly already for split/fanout. But collect was missed. Extract out a helper to share. This way we avoid copy propagating a mov from high or half reg into an instruction which cannot consume a high/half reg. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: make high regs easier to see in IR dumpsRob Clark2019-10-241-0/+2
| | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: debug cleanupRob Clark2019-10-246-46/+32
| | | | | | | | | 1) deduplicate IR3_SHADER_DEBUG=disasm versus fs/vs/etc handling 2) standardize shader stage name prints, in particular VERT vs BVERT 3) don't mix stderr and stdout Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* spirv: Add helper to find args of Image OperandsCaio Marcelo de Oliveira Filho2019-10-241-22/+79
| | | | | | | | | | | Avoid keeping track of the idx and all possible image operands for each operation. Note for convenience we split up the handling of ImageOperandsOffsetMask and ImageOperandsConstOffsetMask. Suggested by Jason Ekstrand. Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* spirv: Check that only one offset is defined as Image OperandCaio Marcelo de Oliveira Filho2019-10-241-0/+6
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* spirv: Add imageoperands_to_string helperCaio Marcelo de Oliveira Filho2019-10-242-3/+23
| | | | | | | | Change the information to also include the category, so that the particulars of BitEnum enumeration can be handled in the template. Acked-by: Jason Ekstrand <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* anv: Implement VK_KHR_vulkan_memory_modelCaio Marcelo de Oliveira Filho2019-10-244-0/+13
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* spirv: Handle MakePointerAvailable/VisibleCaio Marcelo de Oliveira Filho2019-10-241-0/+32
| | | | | | | | | | | Emit barriers with semantics matching the access operand and the storage class of the pointer. v2: Fix order of visible / available emission relative to the operations. (Bas) Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* spirv: Handle MakeTexelAvailable/VisibleCaio Marcelo de Oliveira Filho2019-10-241-8/+39
| | | | | | | | | Set the memory semantics and scope for later emitting the barrier. Note the barrier emission code already exist in vtn_handle_image for the Image atomics. Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>