- Jun 05, 2017
-
-
Juan A. Suárez authored
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Juan A. Suárez authored
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
- Jun 03, 2017
-
-
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 39adea93) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Juan A. Suárez authored
This reverts commit b3e48a07.
-
- Jun 02, 2017
-
-
Sandy Bridge does not technically support mipmapped depth/stencil. In order to work around this, we allocate what are effectively completely separate images for each miplevel, ensure that they are page-aligned, and manually offset to them. Prior to layered rendering, this was a simple matter of setting a large enough halign/valign. With the advent of layered rendering, however, things got more complicated. Now, things weren't as simple as just handing a surface off to the hardware. Any miplevel of a normally mipmapped surface can be considered as just an array surface given the right qpitch. However, the hardware gives us no capability to specify qpitch so this won't work. Instead, the chosen solution was to use a new "all slices at each LOD" layout which laid things out as a mipmap of arrays rather than an array of mipmaps. This way you can easily offset to any of the miplevels and each is a valid array. Unfortunately, the "all slices at each lod" concept missed one fundamental thing about SNB HiZ and stencil hardware: It doesn't just always act as if you're always working with a non-mipmapped surface, it acts as if you're always working on a non-mipmapped surface of the same size as LOD0. In other words, even though it may only write the upper-left corner of each array slice, the qpitch for the array is for a surface the size of LOD0 of the depth surface. This mistake causes us to under-allocate HiZ and stencil in some cases and also to accidentally allow different miplevels to overlap. Sadly, piglit test coverage didn't quite catch this until I started making changes to the resolve code that caused additional HiZ resolves in certain tests. This commit switches Sandy Bridge HiZ and stencil over to a new scheme that lays out the non-zero miplevels horizontally below LOD0. This way they can all have the same qpitch without interfering with each other. Technically, the miplevels still overlap, but things are spaced out enough that each page is only in the "written area" of one LOD. Cc: "17.0 17.1" <mesa-stable@lists.freedesktop.org> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> (cherry picked from commit 10903d22) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 50d0eb50) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
This makes us walk over the heaps one at a time and add the types for LLC and !LLC to each heap. Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 34581fdd) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit b83b1af6) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/intel/vulkan/anv_device.c
-
The idea behind doing this was to make it easier to set various flags. However, we have enough custom flag settings floating around the driver that this is more of a nuisance than a help. This commit has the following functional changes: 1) The workaround_bo created in anv_CreateDevice loses both flags. This shouldn't matter because it's very small and entirely internal to the driver. 2) The bo created in anv_CreateDmaBufImageINTEL loses the EXEC_OBJECT_ASYNC flag. In retrospect, it never should have gotten EXEC_OBJECT_ASYNC in the first place. Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 00df1cd9) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/intel/vulkan/anv_allocator.c src/intel/vulkan/anv_device.c src/intel/vulkan/anv_queue.c
-
Instead of returning valid types as just a number, we now walk the list and check the buffer's usage against the usage flags we store in the new anv_memory_type structure. Currently, valid_buffer_usage == ~0. Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit f7736ccf) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/intel/vulkan/anv_device.c src/intel/vulkan/anv_private.h
-
Before, we were just comparing the type index to 0. Now we actually look the type up in the table and check its properties to determine what kind of mapping we want to do. Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 92325a7e) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/intel/vulkan/anv_device.c src/intel/vulkan/anv_private.h
-
Reviewed-by: Chad Versace <chadversary@chromium.org> (cherry picked from commit 35e626bd) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Squashed with: anv/tests: Create a dummy instance as well as device This fixes crashes caused by 35e626bd which made us start referencing the instance in the allocators. With this commit, the tests now happily pass again. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100877 Tested-by: Vinson Lee <vlee@freedesktop.org> (cherry picked from commit 6ef1bd4f) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Juan A. Suárez authored
Revert "cherry-ignore: anv: Refactor memory type setup" This reverts commit eab4a503. Revert "cherry-ignore: anv: Add valid_bufer_usage to the memory type metadata" This reverts commit c31e814a. Revert "cherry-ignore: anv: Advertise both 32-bit and 48-bit heaps when we have enough memory" This reverts commit e3911448. Revert "cherry-ignore: anv: Make supports_48bit_addresses a heap property" This reverts commit dbadd066. Revert "cherry-ignore: anv: Stop setting BO flags in bo_init_new" This reverts commit 07867f72. Revert "cherry-ignore: anv: Determine the type of mapping based on type metadata" This reverts commit 9299466b.
-
- Jun 01, 2017
-
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
Juan A. Suárez authored
-
The wrapper is for a renderbuffer around a texture. Textures can have formats (e.g., 3) that aren't valide for API generated renderbuffers. _mesa_base_fbo_format will return 0, but _mesa_get_format_base_format will return the base format of RGB. Fixes a crashes in piglit tests fbo-alphatest-formats (all subtests pass) and fbo-colormask-formats (some subtests pass, some fail). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 303b47f2) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Thanks to EGL_MESA_configless_context, the visual pointer can be NULL. Fixes a segfault (or assertion failure) in piglit's egl-configless-context test. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit c24881d3) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Fixes crashes in piglit's gl-1.2-texture-base-level. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 2dcec620) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Function droid_swap_buffers may get called without dri2_surf->buffer set, in these cases we don't have a back buffer set either. Patch fixes segfault seen with 3DMark that uses android.opengl.GLSurfaceView for rendering it's UI. backtrace: #00 pc 00013f88 /system/lib/egl/libGLES_mesa.so (droid_swap_buffers+104) #01 pc 000117b2 /system/lib/egl/libGLES_mesa.so (dri2_swap_buffers+50) #02 pc 000058b2 /system/lib/egl/libGLES_mesa.so (eglSwapBuffers+386) #03 pc 00011329 /system/lib/libEGL.so (eglSwapBuffersWithDamageKHR+553) #04 pc 000118e7 /system/lib/libEGL.so (eglSwapBuffers+55) #05 pc 000754dc /system/lib/libandroid_runtime.so Note, this is v1 as v2 caused dEQP regressions. Fixes: 2acc69da ("EGL/Android: Add EGL_EXT_buffer_age extension") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit f347bac3) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Juan A. Suárez authored
This reverts commit 4d455841. See https://lists.freedesktop.org/archives/mesa-stable/2017-June/006408.html Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
On ARM Android platforms, the host_os tuple should be linux-androideabi, so let's match both -android and -androideabi (or any other -android* tuple) to determine if we should do an Android build. Reviewed-by: Chad Versace <chadversary@chromium.org> (cherry picked from commit f6ac3d0d) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
stfb->iface is always non-NULL for an st_framebuffer. These checks were incorrect, relying on out-of-bounds memory access in the surface-less case of EGL_KHR_surfaceless_context. v2: remove redundant stread check (Marek) Reviewed-by: Marek Olšák <marek@olsak@amd.com> (v2) (cherry picked from commit 9d346af3) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
v2: add comment in code Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100741 Fixes: a5e733c6 mesa: drop current draw/read buffer when ctx is released Reviewed-by: Rob Clark <robdclark@gmail.com> (v1) Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit fd6c2a3f) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
flush_compute_state doesn't reserve a large chunk, so these need their own reservation. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Fixes: f4e499ec "radv: add initial non-conformant radv vulkan driver" (cherry picked from commit 18efb404) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/amd/vulkan/radv_cmd_buffer.c
-
Rather than misleadingly depending on DRI2 for the WL_DRM vs WL_SHM formats, use the wl_drm and wl_shm interface respectively. Fixes: a1727aa7 ("egl/wayland: Don't use DRM format codes for SHM") Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 6ef0fc40) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Android tries to create a FENCE_FD fence without any rendering. And then falls over when that fails. So just always create an initial batch. Fixes: e4ad8695 ("freedreno: fix crash when flush() but no rendering") Signed-off-by: Rob Clark <robdclark@gmail.com> (cherry picked from commit 8fc9702a) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
When we fallback currently the gl_program objects are re-allocated. This is likely to change when the i965 cache lands, but for now this fixes a crash when using MESA_GLSL=cache_fb. This env var simulates the fallback path taken when a tgsi cache item doesn't exist due to being evicted previously or some kind of error. Unlike i965 we are always falling back at link time so it's safe to just re-allocate everything. We will be unnecessarily freeing and re-allocate a bunch of things here but it's probably not a huge deal, and can be changed when the i965 code lands. Fixes: 0e9991f9 ("glsl: don't reference shader prog data during cache fallback") Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (cherry picked from commit 80e64334) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Commit 9ca6711f changed the Wayland winsys to only block for the frame callback inside SwapBuffers, rather than get_back_bo. get_back_bo would perform a single non-blocking Wayland event dispatch, to try to find any release events which we had pulled off the wire but not actually processed. The blocking dispatch was moved to SwapBuffers. This removed a guarantee that we would've processed all events inside get_back_bo(), and introduced a failure whereby the server could've sent a buffer release event, but we wouldn't have read it. In clients unconstrained by SwapInterval (rendering ~as fast as possible), which were being displayed directly without composition (buffer release delayed), this could lead to get_back_bo() failing because there were no free buffers available to it. The drawing rightly failed, but this was papered over because of the path in eglSwapBuffers() which attempts to guarantee a BO, in order to support calling SwapBuffers twice in a row with no rendering actually having been performed. Since eglSwapBuffers will perform a blocking dispatch of Wayland events, a buffer release would have arrived by that point, and we could then choose a buffer to post to the server. The effect was that frames were displayed out-of-order, since we grabbed a frame with random past content to display to the compositor. Ideally get_back_bo() failing should store a failure flag inside the surface and cause the next SwapBuffers to fail, but for the meantime, restore the correct behaviour such that get_back_bo() no longer fails. Signed-off-by: Daniel Stone <daniels@collabora.com> Reported-by: Eero Tamminen <eero.t.tamminen@intel.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98833 Fixes: 9ca6711f ("Revert "wayland: Block for the frame callback in get_back_bo not dri2_swap_buffers"") (cherry picked from commit 1f2d0093) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Analogous to previous commit - the compiler can discard xcb + wayland libs, since there is no user (the static libraries) before it on the command line. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> (cherry picked from commit 2b6ad89d) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
The compiler can discard the shared ones from the link chain, since there is no user (the static libraries) before it on the command line. Cc: mesa-stable@lists.freedesktop.org Reported-by: Laurent Carlier <lordheavym@gmail.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> (cherry picked from commit 3e8790bf) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
The width and height of the copy don't have to be aligned to the block size if they specify the right or bottom edges of the image. (See also the comment and asserts right above). We need to round them up when we do the division in order to get it 100% right. Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "17.0 17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0901d0bc) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
We've discovered in the Vulkan driver that simply doing the end-of-pipe sync afterwards is insufficient. The specific requirement stated in the PRM is that you have to do one every time you transition between the tree modes of "clear", "render", and "resolve". This is GL, so we could track it but any attempt to do so would most likely get it wrong. For now, it's easier to just assume that every fast-clear op is an island and do the sync both before and after. This also removes the unneeded flush and stall after slow-clear operations. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "17.0 17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 441cd7a8) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 10fad58b) Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-