summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* freedreno: Don't count primitives for patchesKristian H. Kristensen2019-11-071-1/+8
| | | | | | | | | | | The gallium helper doesn't like patches and we can't determine how many primitives it gets tessellated into anyway. On gens where we have tessellation, we get the prim count from a HW counter so just skip counting on the CPU. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/ir3: Add load and store intrinsics for global ioKristian H. Kristensen2019-11-072-0/+60
| | | | | | | | | These intrinsics take a ivec2 for the 64 bit base address and a integer offset. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/ir3: Emit link map as byte or dwords offsets as neededKristian H. Kristensen2019-11-071-2/+16
| | | | | | | | | Stages that load inputs with ldlw (TCS, GS) need byte offsets, stages that load with ldg (TES) need dwords offsets. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/a6xx: Add register offset for STG/LDGKristian H. Kristensen2019-11-075-9/+64
| | | | | | | | | | These instructions take a 64 bit iova as two conescutive registers and a immediate offset. This patch adds support for the offset to be a single register, which is added to the 64 bit iova. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/a6x: Rename z/s formatsKristian H. Kristensen2019-11-077-20/+20
| | | | | | | | | | What we call eRB6_Z24_UNORM_S8_UINT now is actually RB6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 and RB6_X8Z24_UNORM is actually RB6_Z24_UNORM_S8_UINT. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/a6xx: Fix layered texture type enumKristian H. Kristensen2019-11-072-7/+8
| | | | | | | | 2D array textures and 3D textures are different enum values after all. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno: Add nogmem debug option to force bypass renderingKristian H. Kristensen2019-11-073-1/+5
| | | | | | Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/a6xx: Clear sysmem with CP_BLITKristian H. Kristensen2019-11-075-15/+171
| | | | | | Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/a6xx: Fix primitive counters againKristian H. Kristensen2019-11-071-47/+104
| | | | | | | | | | | | | We use one mechanism for (REG_A6XX_RBBM_PRIMCTR_8_LO) PIPE_QUERY_PRIMITIVES_GENERATED, which counts all primitives that exit the geometry pipeline, whether or not xfb is on. Then for PIPE_QUERY_PRIMITIVES_EMITTED, we use the CP_EVENT_WRITE subfunction that writes out per-stream counts for generated and emitted, but only when xfb is enabled. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/registers: Add comments about primitive countersKristian H. Kristensen2019-11-071-12/+10
| | | | | | | | Adding comments about best guess at what the counters count. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/registers: Move SP_PRIMITIVE_CNTL and SP_VS_VPC_DSTKristian H. Kristensen2019-11-071-28/+28
| | | | | | | | Move these two to be in order with the other VS regs. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* freedreno/registers: Fix typoKristian H. Kristensen2019-11-071-1/+1
| | | | | | Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* aco: add Instruction::usesModifiers() and add more checks in the optimizerRhys Perry2019-11-082-7/+23
| | | | | | | | No pipeline-db changes. v2: use early-exit for VOP3 Reviewed-by: Daniel Schürmann <[email protected]> (v1)
* radv: adjust loop unrolling heuristics for int64Rhys Perry2019-11-072-7/+16
| | | | | | | | | | | In particular, increase the cost of 64-bit integer division. Fixes huge shaders with dEQP-VK.spirv_assembly.type.scalar.i64.mod_geom , with ACO used for GS this creates shaders requiring a branch with >32767 dword offset. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* lima: fix bo submit memory leakErico Nunes2019-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix memory leak on allocation for lima submit, reported by valgrind. 128 bytes in 1 blocks are definitely lost in loss record 38 of 84 at 0x484A6E8: realloc (in /usr/lib/valgrind/vgpreload_memcheck-arm64-linux.so) by 0x58689C7: util_dynarray_ensure_cap (u_dynarray.h:91) by 0x5868BBB: util_dynarray_grow_bytes (u_dynarray.h:139) by 0x5868BBB: lima_submit_add_bo (lima_submit.c:113) by 0x585D7D3: lima_ctx_buff_va (lima_context.c:57) by 0x586378F: lima_pack_plbu_cmd (lima_draw.c:802) by 0x586378F: lima_draw_vbo (lima_draw.c:1351) by 0x5406A2F: u_vbuf_draw_vbo (u_vbuf.c:1184) by 0x55D0A57: st_draw_vbo (st_draw.c:268) by 0x55576CB: _mesa_draw_arrays (draw.c:374) by 0x55576CB: _mesa_draw_arrays (draw.c:351) by 0x43610B: Mesh::render_vbo() (mesh.cpp:583) by 0x415DBB: SceneBuild::draw() (scene-build.cpp:242) by 0x41131B: MainLoop::draw() (main-loop.cpp:133) by 0x411947: MainLoop::step() (main-loop.cpp:108) Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Qiang Yu <[email protected]>
* lima: fix nir shader memory leakErico Nunes2019-11-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Fix memory leak on allocation for nir shader, reported by valgrind. 3,502 (480 direct, 3,022 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 84 at 0x48483F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-arm64-linux.so) by 0x5750817: ralloc_size (ralloc.c:119) by 0x5750977: rzalloc_size (ralloc.c:151) by 0x575C173: nir_shader_create (nir.c:45) by 0x5763ACB: nir_shader_clone (nir_clone.c:728) by 0x55D5003: st_create_fp_variant (st_program.c:1242) by 0x55D789F: st_get_fp_variant (st_program.c:1522) by 0x55D789F: st_get_fp_variant (st_program.c:1507) by 0x56400C3: st_update_fp (st_atom_shader.c:163) by 0x563D333: st_validate_state (st_atom.c:261) by 0x55D07CB: prepare_draw (st_draw.c:132) by 0x55D08DF: st_draw_vbo (st_draw.c:184) by 0x55576CB: _mesa_draw_arrays (draw.c:374) by 0x55576CB: _mesa_draw_arrays (draw.c:351) Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Qiang Yu <[email protected]>
* Meson: Remove lib prefix from graw and osmesa when building with Mingw.Prodea Alexandru-Liviu2019-11-074-0/+5
| | | | | | | | | | | Also remove version sufix from osmesa swrast on Windows. v2: Make sure we don't remove lib prefix on *nix platforms. Signed-off-by: Prodea Alexandru-Liviu <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Cc: "19.3" <[email protected]>
* mesa: expose SPIR-V extensions in the Compatibility profile tooMarek Olšák2019-11-071-2/+2
| | | | | | | | | We would like to have GL 4.6 Compatibility too. The extensions don't support compatibility features, so no other changes are needed. Reviewed-by: Alejandro Piñeiro <[email protected]>
* st_get_external_sampler_key: improve error messageDrew DeVault2019-11-071-1/+2
| | | | Signed-off-by: Marek Olšák <[email protected]>
* mesa/st: Make st_pipe_format_to_mesa_format an effective no-op.Eric Anholt2019-11-072-588/+3
| | | | | | | | | | All callers other than the unit test just wanted to convert back from a known-mesa-equivalent format, which is now a no-op. v2: Fix assertion failure in iris GL startup with BGR565 by continuing to return MESA_FORMAT_NONE for non-Mesa formats. Reviewed-by: Marek Olšák <[email protected]> (v1)
* mesa/st: Gut most of st_mesa_format_to_pipe_format().Eric Anholt2019-11-071-629/+40
| | | | | | | | | Now that MESA_FORMAT_x is just a PIPE_FORMAT_x define, we can strip this function down to just the compression fallbacks. v2: Restore the SRGB format for ASTC SRGB fallback case. Reviewed-by: Marek Olšák <[email protected]>
* mesa: Redefine MESA_FORMAT_* in terms of PIPE_FORMAT_*.Eric Anholt2019-11-071-329/+271
| | | | | | | | | | | | | | | | | There are various places in Mesa where we would like to be able to have a shared format enum between Mesa and gallium (NIR compiler's image formats, for example, or mapping from gallium's formats to mesa's and vice versa in st_format.c). Rewriting all MESA_FORMAT to PIPE_FORMAT would be disruptive and possibly more work than it's worth (And I actually prefer MESA_FORMAT's name scheme), so for now just make it so that there's one shared set of enum values. The #defines here were generated by printing out from the tests/st_format.c round-tripping loop, with the exception of 8888 formats where I hand-edited the #defines to point at the corresponding gallium packed format define. Reviewed-by: Marek Olšák <[email protected]>
* mesa: Prepare for the MESA_FORMAT_* enum to be sparse.Eric Anholt2019-11-076-4/+29
| | | | | | | | | To redefine MESA_FORMAT in terms of PIPE_FORMAT enums, we need to fix places where we iterated up to MESA_FORMAT_COUNT. I use _mesa_get_format_name(f) == NULL as the signal that it's not an enum value with a MESA_FORMAT. Reviewed-by: Marek Olšák <[email protected]>
* mesa/st: Test round-tripping of all compressed formats.Eric Anholt2019-11-071-2/+4
| | | | | | | | | We checked round-tripping of formats without fallbacks, but weren't setting the compression support flags in the mock context and thus needed to skip testing those. Just set all the flags and assert that no fallbacks are triggered, so we get full test coverage. Reviewed-by: Marek Olšák <[email protected]>
* mesa: Stop defining a full separate format for RGBA_UINT8.Eric Anholt2019-11-076-12/+11
| | | | | | | | | We have packed formats for RGBA and ABGR already, so we can just pack/unpack code. v2: Rebase on endianness macro rename Reviewed-by: Marek Olšák <[email protected]> (v1)
* gallium: Add equivalents of packed MESA_FORMAT_*UINT formats.Eric Anholt2019-11-073-0/+111
| | | | | | | | These are the last formats that MESA_FORMAT had and PIPE_FORMAT didn't. The .csv entries channel sizes and swizzles all came from the corresponding UNORM format. Reviewed-by: Marek Olšák <[email protected]>
* gallium: Add an equivalent of MESA_FORMAT_BGR_UNORM8.Eric Anholt2019-11-073-0/+6
| | | | | | | | This is the last unorm format that MESA_FORMAT had and PIPE_FORMAT didn't. Note that it's an array format on gallium's side as well, since it's a NPOT pixel size. Reviewed-by: Marek Olšák <[email protected]>
* gallium: Add some more channel orderings of packed formats.Eric Anholt2019-11-073-0/+48
| | | | | | This covers everything that MESA_FORMAT had for packed unorm. Reviewed-by: Marek Olšák <[email protected]>
* gallium: Add defines for FXT1 texture compression.Eric Anholt2019-11-076-2/+22
| | | | | | | | | | This texture compression is exposed by 830 and 915, and to make MESA_FORMAT match PIPE_FORMAT defines I need a corresponding PIPE_FORMAT. v2: Set is_hand_written so we don't try to generate pack/unpack code. Reviewed-by: Marek Olšák <[email protected]>
* mesa/st: Add mapping of MESA_FORMAT_RGB_SNORM16 to gallium.Eric Anholt2019-11-071-0/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radv/gfx10: fix primitive indices orientation for NGG GSSamuel Pitoiset2019-11-072-9/+45
| | | | | | | | | | The primitive indices have to be swapped to follow the drawing order. This fixes corruption with Overwatch when NGG GS is force enabled. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* Revert "intel/blorp: Fix usage of uninitialized memory in key hashing"Kenneth Graunke2019-11-071-6/+1
| | | | | | | This reverts commit 4432a2d14d80081d062f7939a950d65ea3a16eed. Pretty much every SKQP test dies with this assertion: skqp: ../src/mesa/drivers/dri/i965/brw_program_cache.c:102: hash_key: Assertion `item->key_size % 4 == 0' failed.
* intel/blorp: Fix usage of uninitialized memory in key hashingDanylo Piliaiev2019-11-071-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The automatically generated padding in structs contains undefined values, force pack the structs to eliminate the padding. Otherwise structs with the same values may generate different hashes. Valgrind output: Conditional jump or move depends on uninitialised value(s) util_fast_urem32 (fast_urem_by_const.h:71) hash_table_search (hash_table.c:262) _mesa_hash_table_search (hash_table.c:296) anv_pipeline_cache_search_locked (anv_pipeline_cache.c:318) anv_pipeline_cache_search (anv_pipeline_cache.c:335) lookup_blorp_shader (anv_blorp.c:38) blorp_params_get_mcs_partial_resolve_kernel (blorp_clear.c:1112) blorp_mcs_partial_resolve (blorp_clear.c:1205) anv_image_mcs_op (anv_blorp.c:1742) anv_cmd_predicated_mcs_resolve (genX_cmd_buffer.c:774) transition_color_buffer (genX_cmd_buffer.c:1159) cmd_buffer_end_subpass (genX_cmd_buffer.c:4840) Uninitialised value was created by a stack allocation blorp_params_get_mcs_partial_resolve_kernel (blorp_clear.c:1103) Cc: <[email protected]> Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* osmesa/tests: Extend render test to cover other working casesDylan Baker2019-11-071-1/+3
| | | | | | | Only the GL_UNSIGNED_BYTE cases actually work, the rest all fail, but we should test the working cases to ensure that they continue to work. Reviewed-by: Brian Paul <[email protected]>
* gallium/osmesa: Convert osmesa test to gtestDylan Baker2019-11-073-49/+108
| | | | | | This uses a bunch of additional C++ features for niceness and safety. Reviewed-by: Brian Paul <[email protected]>
* meson: gtest needs pthreadsDylan Baker2019-11-071-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* panfrost: Pipe the GPU ID into compiler and disassemblerTomeu Vizoso2019-11-0710-29/+31
| | | | Signed-off-by: Tomeu Vizoso <[email protected]>
* aco: workaround Tonga/Iceland hardware bugDaniel Schürmann2019-11-071-5/+5
| | | | | | | | The workaround got accidentally moved to the wrong place Fixes: 08d510010b7586387e363460b98e6a45bbe97164 aco: increase accuracy of SGPR limits Reviewed-by: Samuel Pitoiset <[email protected]>
* panfrost: Release the ctx->pipe_framebuffer refBoris Brezillon2019-11-071-0/+1
| | | | | | | | ctx->pipe_framebuffer contains the last bound FB state, let's release resources pointed by this FB state when the context is destroyed. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Destroy the upload manager allocated in panfrost_create_context()Boris Brezillon2019-11-071-0/+2
| | | | | | | | | pipe->stream_uploader has been allocated with u_upload_create_default() in panfrost_create_context(), let's destroy it in the context destroy path. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* intel/gen_decoder: Fix unused-but-set-variable warningKai Wasserbäch2019-11-071-2/+2
| | | | | | | | | | | This commit fixes the following warning: ../src/intel/common/gen_decoder.c: In function ‘gen_spec_load_from_path’: ../src/intel/common/gen_decoder.c:741:11: warning: variable ‘len’ set but not used [-Wunused-but-set-variable] 741 | size_t len, filename_len = strlen(path) + 20; | ^~~ Signed-off-by: Kai Wasserbäch <[email protected]> Acked-by: Lionel Landwerlin <[email protected]>
* nir: fix unused function warning in src/compiler/nir/nir.cKai Wasserbäch2019-11-071-1/+2
| | | | | | | | | | This commit fixes the following warning: ../src/compiler/nir/nir.c:1827:1: warning: ‘dest_is_ssa’ defined but not used [-Wunused-function] 1827 | dest_is_ssa(nir_dest *dest, void *_state) | ^~~~~~~~~~~ Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* nir: fix unused variable warning in find_and_update_previous_uniform_storageKai Wasserbäch2019-11-071-1/+1
| | | | | | | | | | | This commit fixes the following warning: ../src/compiler/glsl/gl_nir_link_uniforms.c: In function ‘find_and_update_previous_uniform_storage’: ../src/compiler/glsl/gl_nir_link_uniforms.c:166:16: warning: unused variable ‘num_blks’ [-Wunused-variable] 166 | unsigned num_blks = nir_variable_is_in_ubo(var) ? | ^~~~~~~~ Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* nir: fix unused variable warning in nir_lower_vars_to_explicit_typesKai Wasserbäch2019-11-071-1/+2
| | | | | | | | | | | This commit fixes the following warning: ../src/compiler/nir/nir_lower_io.c: In function ‘nir_lower_vars_to_explicit_types’: ../src/compiler/nir/nir_lower_io.c:1435:22: warning: unused variable ‘supported’ [-Wunused-variable] 1435 | nir_variable_mode supported = nir_var_mem_shared | nir_var_shader_temp | nir_var_function_temp; | ^~~~~~~~~ Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* gallium: dri2: Use index as plane number.Lepton Wu2019-11-061-1/+1
| | | | | | | | | | This fix wrong color when playing video under Android + virgl configuration. Fixes: 2decad495f3 ("gallium/dri2: Support images with multiple planes for modifiers") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Lepton Wu <[email protected]>
* anv: implement VK_KHR_separate_depth_stencil_layoutsLionel Landwerlin2019-11-067-27/+91
| | | | | | | | | | | | | | | | | | | v2: Use ternary to simplify code (Jason) v3: Reorder switch cases to follow existing section ordering (Nanley) Add missing comment in cmd_buffer_end_subpass() about new layout (Nanley) v4: Fix layout comparison for stencil case (Nanley) Update a few more comments (Nanley) Move VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR in color attachment case for future stencil-CCS support (Nanley) v5: Missed comments update (Nanley) Updated relnotes.txt (Lionel) Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Nanley Chery <[email protected]>
* Revert "ci: Switch over to an autoscaling GKE cluster for builds."Eric Anholt2019-11-064-21/+8
| | | | | | | | | | | | | | | | | | | | This reverts commit c9df92bf795af878c38538c85f781291c78ec513. It turns out that gitlab-runner uses kubernetes all wrong, spawning Pods and sshing into them to run the script instead of Jobs containing the script to run. This means that when anything goes wrong with the pod (autoscale, preemption, VM maintenance, cluster reconfiguration), the job fails and only sometimes gets handled as a runner system failure. Even worse, due to bugs in either the runner or k8s itself, some classes of timeout-related failure end up not being reported as failures, and the job will incorrectly report success! Disable using the "autoscale" cluster until we can do something else (docker-machine instead of k8s, or the custom third-party k8s-native runner). Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Daniel Stone <[email protected]>
* panfrost: Print the right zero fieldTomeu Vizoso2019-11-061-1/+1
| | | | | | | | | Copy paste error. Signed-off-by: Tomeu Vizoso <[email protected]> Reported-by: Ilia Mirkin <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* docs: update calendar, add news item and link release notes for 19.2.2Dylan Baker2019-11-063-8/+3
|
* docs: add sha256 sum to 19.2.3 release notesDylan Baker2019-11-061-1/+1
|