{"push_id":1810507448,"size":1000,"distinct_size":61,"ref":"refs/heads/master","head":"a53792605916edd6addc46a0ff29405ae51e1408","before":"459cf960d5d4f38aad31c80e75fd1c6d32affab5","commits":[{"sha":"edb59ef2dc8085631e14153d2b7838b63961f2f0","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi: do only 1 big CE dump at end of IBs and one reload in the preamble\n\nA later commit will only upload descriptors used by shaders, so we won't do\nfull dumps anymore, so the only way to have a complete mirror of CE RAM\nin memory is to do a separate dump after the last draw call.\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/edb59ef2dc8085631e14153d2b7838b63961f2f0"},{"sha":"38828094e9bccf3a00d07a1e8dc66277ce21ce3e","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi: update si_ce_needed_cs_space\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/38828094e9bccf3a00d07a1e8dc66277ce21ce3e"},{"sha":"53c2ef36da79df926d5c3eac81f60ebe6009dda8","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi: record which descriptor slots are used by shaders\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/53c2ef36da79df926d5c3eac81f60ebe6009dda8"},{"sha":"a7f098fb769bdfdac692a04eab6bdd84e061e5cd","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi: only upload (dump to L2) those descriptors that are used by shaders\n\nThis decreases the size of CE RAM dumps to L2, or the size of descriptor\nuploads without CE.\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/a7f098fb769bdfdac692a04eab6bdd84e061e5cd"},{"sha":"1cde473ec08e9aa60f474d460df1b4c3ba6d3c70","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi: remove CE offset alignment restriction\n\nThis was only needed by LOAD_CONST_RAM, which is now only used to load\nwhole CE.\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/1cde473ec08e9aa60f474d460df1b4c3ba6d3c70"},{"sha":"807e1d257707a37850a150d12a1d6878c3b13d5d","author":{"name":"Marek Olšák","email":"4faf1447f276b79d547990f08bc69bf0766bdee3@amd.com"},"message":"radeonsi/gfx9: use CE RAM optimally\n\nOn GFX9 with only 4K CE RAM, define the range of slots that will be\nallocated in CE RAM. All other slots will be uploaded directly. This will\nswitch dynamically according to which slots are used by current shaders.\n\nGFX9 CE usage should now be similar to VI instead of being often disabled.\n\nTested on VI by taking the GFX9 CE allocation codepath and setting\nnum_ce_slots = 2 everywhere to get frequent switches between both modes.\nCE is still disabled on GFX9.\n\nReviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/807e1d257707a37850a150d12a1d6878c3b13d5d"},{"sha":"53f997de77357cd5fbeca3d167729793d188aab6","author":{"name":"Jason Ekstrand","email":"8d9da6ec6f8b6f23bae58d38147b2bea1269b4d6@intel.com"},"message":"anv: Wrap the device lost error in vk_error in QueueSubmit\n\nWe weren't wrapping this before because anv_cmd_buffer_execbuf may throw\na more meaningful error message.  However, we do change the error code\ninto VK_ERROR_DEVICE_LOST, so we should print a new message.\n\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/53f997de77357cd5fbeca3d167729793d188aab6"},{"sha":"c499faebd77d1d9656774406fe259cd5369af12c","author":{"name":"Jason Ekstrand","email":"158e602a35675d2a0b685478824aa5995557a235@jlekstrand.net"},"message":"anv: Add an option to abort on device loss\n\nThis is mostly for running in our CI system to prevent dEQP from\ncontinuing on to the next test if we get a GPU hang.  As it currently\nstands, dEQP uses the same VkDevice for almost all tests and if one of\nthe tests hangs, we set the anv_device::device_lost flag and report\nVK_ERROR_DEVICE_LOST for all queue operations from that point forward\nwithout sending anything to the GPU.  dEQP will happily continue trying\nto run tests and reporting failures until it eventually gets crash that\nforces the test runner to start over.  This circumvents the problem by\njust aborting the process if we ever get a GPU hang.  Since this is not\nthe recommended behavior most of the time, we hide it behind an\nenvironment variable.\n\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/c499faebd77d1d9656774406fe259cd5369af12c"},{"sha":"56458cb168bf79ae51ba1efc3acec15874cc34a9","author":{"name":"Nanley Chery","email":"e45c3b07822ce78c7243f3d597a83df751913dbb@intel.com"},"message":"anv/formats: Update the three-channel BC1 mappings\n\nThe procedure for decompressing an opaque BC1 Vulkan format is dependant on the\ncomparison of two colors stored in the first 32 bits of the compressed block.\nHere's the specified OpenGL (and Vulkan) behavior for reference:\n\n   The RGB color for a texel at location (x,y) in the block is given by:\n\n      RGB0,              if color0 > color1 and code(x,y) == 0\n      RGB1,              if color0 > color1 and code(x,y) == 1\n      (2*RGB0+RGB1)/3,   if color0 > color1 and code(x,y) == 2\n      (RGB0+2*RGB1)/3,   if color0 > color1 and code(x,y) == 3\n\n      RGB0,              if color0 <= color1 and code(x,y) == 0\n      RGB1,              if color0 <= color1 and code(x,y) == 1\n      (RGB0+RGB1)/2,     if color0 <= color1 and code(x,y) == 2\n      BLACK,             if color0 <= color1 and code(x,y) == 3\n\nThe sampling operation performed on an opaque DXT1 Intel format essentially\nhard-codes the comparison result of the two colors as color0 > color1. This\nmeans that the behavior is incompatible with OpenGL and Vulkan. This is stated\nin the SKL PRM, Vol 5: Memory Views:\n\n   Opaque Textures (DXT1_RGB)\n      Texture format DXT1_RGB is identical to DXT1, with the exception that the\n      One-bit Alpha encoding is removed. Color 0 and Color 1 are not compared, and\n      the resulting texel color is derived strictly from the Opaque Color Encoding.\n      The alpha channel defaults to 1.0.\n\n      Programming Note\n      Context: Opaque Textures (DXT1_RGB)\n      The behavior of this format is not compliant with the OGL spec.\n\nThe opaque and non-opaque BC1 Vulkan formats are specified to be decoded in\nexactly the same way except the BLACK value must have a transparent alpha\nchannel in the latter. Use the four-channel BC1 Intel formats with the alpha\nset to 1 to provide the behavior required by the spec.\n\nv2 (Kenneth Graunke):\n- Provide a more detailed commit message.\n\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100925\nCc: <mesa-stable@lists.freedesktop.org>\nReviewed-by: Kenneth Graunke <kenneth@whitecape.org>\nReviewed-by: Jason Ekstrand <jason@jlekstrand.net>\nSigned-off-by: Nanley Chery <nanley.g.chery@intel.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/56458cb168bf79ae51ba1efc3acec15874cc34a9"},{"sha":"688ddb85c8c3357d8e1e9d360c74cd728b128d98","author":{"name":"Nanley Chery","email":"e45c3b07822ce78c7243f3d597a83df751913dbb@intel.com"},"message":"i965/formats: Update the three-channel DXT1 mappings\n\nThe procedure for decompressing an opaque DXT1 OpenGL format is\ndependant on the comparison of two colors stored in the first 32 bits of\nthe compressed block. Here's the specified OpenGL behavior for\nreference:\n\n   The RGB color for a texel at location (x,y) in the block is given by:\n\n      RGB0,              if color0 > color1 and code(x,y) == 0\n      RGB1,              if color0 > color1 and code(x,y) == 1\n      (2*RGB0+RGB1)/3,   if color0 > color1 and code(x,y) == 2\n      (RGB0+2*RGB1)/3,   if color0 > color1 and code(x,y) == 3\n\n      RGB0,              if color0 <= color1 and code(x,y) == 0\n      RGB1,              if color0 <= color1 and code(x,y) == 1\n      (RGB0+RGB1)/2,     if color0 <= color1 and code(x,y) == 2\n      BLACK,             if color0 <= color1 and code(x,y) == 3\n\nThe sampling operation performed on an opaque DXT1 Intel format essentially\nhard-codes the comparison result of the two colors as color0 > color1.\nThis means that the behavior is incompatible with OpenGL. This is stated\nin the SKL PRM, Vol 5: Memory Views:\n\n   Opaque Textures (DXT1_RGB)\n      Texture format DXT1_RGB is identical to DXT1, with the exception that the\n      One-bit Alpha encoding is removed. Color 0 and Color 1 are not compared, and\n      the resulting texel color is derived strictly from the Opaque Color Encoding.\n      The alpha channel defaults to 1.0.\n\n      Programming Note\n      Context: Opaque Textures (DXT1_RGB)\n      The behavior of this format is not compliant with the OGL spec.\n\nThe opaque and non-opaque DXT1 OpenGL formats are specified to be\ndecoded in exactly the same way except the BLACK value must have a\ntransparent alpha channel in the latter. Use the four-channel BC1 Intel\nformats with the alpha set to 1 to provide the behavior required by the\nspec. Note that the alpha is already set to 1 for RGB formats in\nbrw_get_texture_swizzle().\n\nv2: Provide a more detailed commit message (Kenneth Graunke).\nv3: Ensure the alpha channel is set to 1 for DXT1 formats.\n\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100925\nCc: <mesa-stable@lists.freedesktop.org>\nAcked-by: Tapani Pälli <tapani.palli@intel.com> (v1)\nReviewed-by: Kenneth Graunke <kenneth@whitecape.org>\nSigned-off-by: Nanley Chery <nanley.g.chery@intel.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/688ddb85c8c3357d8e1e9d360c74cd728b128d98"},{"sha":"d9a8bba7f44f7042f0bbd659d0ed342236423dd3","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"vulkan: Fix Wayland uninitialised registry\n\nUntangle the exit cleanup paths so we don't try to use the registry\nvariable before it's been initialised.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/d9a8bba7f44f7042f0bbd659d0ed342236423dd3"},{"sha":"afe8c8a2997950cd63076b7c9eba39e1858fee43","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"vulkan/wsi/wayland: Remove roundtrip when creating image\n\nThere's no need to call wl_display_roundtrip() after trying to create a\nbuffer through wl_drm; if it succeeds then everything is fine, and if it\nfails, then we get a fatal protocol error so can't recover anyway.\n\nAdditionally, doing a roundtrip on the default / main application queue,\nis destructive anyway, so would need to be its own queue.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/afe8c8a2997950cd63076b7c9eba39e1858fee43"},{"sha":"c902a1957d079941823006d56b6810e1e85be4b0","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"vulkan/wsi/wayland: Use per-display event queue\n\nCalling random callbacks on the display's event queue is hostile, as\nwe may call into client code when it least expects it. Create our own\nevent queue, one per wsi_wl_display, and use that for the registry.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/c902a1957d079941823006d56b6810e1e85be4b0"},{"sha":"5034c615582add2be9309dc1d7383fb0daba6dd3","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"vulkan/wsi/wayland: Use proxy wrappers for swapchain\n\nThough most swapchain operations used a queue, they were racy in that\nthe object was created with the queue only set later, meaning that its\nevent could potentially be dispatched from the default queue in between\nthese two steps.\n\nUse proxy wrappers to avoid this race, also assigning wl_buffers created\nfor the swapchain to the event queue.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/5034c615582add2be9309dc1d7383fb0daba6dd3"},{"sha":"8118bc269f39ea0b965752ea89b886b28094db42","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"egl/wayland: Don't open-code roundtrip\n\nwl_display_roundtrip_queue() exists and can replace roundtrip(). The\nAPI was introduced with wayland 1.6, while we currently require 1.11.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Emil Velikov <emil.velikov@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/8118bc269f39ea0b965752ea89b886b28094db42"},{"sha":"03dd9a88b0be17ff0ce91e92f6902a9a85ba584a","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"egl/wayland: Use per-surface event queues\n\nDuring display initialisation, we need a separate event queue to handle\nthe registry events, which is correctly handled. But we also need\nseparate per-surface event queues to handle swapchain-related events,\nsuch as surface frame events and buffer release events. This avoids two\nsurfaces from the same EGLDisplay, both current on separate threads,\ndispatching each other's events.\n\nCreate separate per-surface event queues, create wl_surface and wl_drm\nproxy wrapper objects per surface, so we eliminate the race around\nsending events to the wrong queue. swrast buffers do not need a\ndedicated proxy wrapper, as the wl_shm_pool used to create the\nwl_buffers, being transient, can itself be assigned to a queue.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>\nFixes: 36b9976e1f99 (\"egl/wayland: Avoid race conditions when on non-main thread\")\nCc: mesa-stable@lists.freedesktop.org","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/03dd9a88b0be17ff0ce91e92f6902a9a85ba584a"},{"sha":"1f2d0093bf5084f65a923582881dc74153c804a4","author":{"name":"Daniel Stone","email":"044fded8fb0acaf59ee645bac41fa03db1794cad@collabora.com"},"message":"egl/wayland: Ensure we get a back buffer\n\nCommit 9ca6711faa03 changed the Wayland winsys to only block for the\nframe callback inside SwapBuffers, rather than get_back_bo. get_back_bo\nwould perform a single non-blocking Wayland event dispatch, to try to\nfind any release events which we had pulled off the wire but not\nactually processed. The blocking dispatch was moved to SwapBuffers.\n\nThis removed a guarantee that we would've processed all events inside\nget_back_bo(), and introduced a failure whereby the server could've sent\na buffer release event, but we wouldn't have read it. In clients\nunconstrained by SwapInterval (rendering ~as fast as possible), which\nwere being displayed directly without composition (buffer release delayed),\nthis could lead to get_back_bo() failing because there were no free\nbuffers available to it.\n\nThe drawing rightly failed, but this was papered over because of the\npath in eglSwapBuffers() which attempts to guarantee a BO, in order to\nsupport calling SwapBuffers twice in a row with no rendering actually\nhaving been performed.\n\nSince eglSwapBuffers will perform a blocking dispatch of Wayland\nevents, a buffer release would have arrived by that point, and we\ncould then choose a buffer to post to the server. The effect was that\nframes were displayed out-of-order, since we grabbed a frame with random\npast content to display to the compositor.\n\nIdeally get_back_bo() failing should store a failure flag inside the\nsurface and cause the next SwapBuffers to fail, but for the meantime,\nrestore the correct behaviour such that get_back_bo() no longer fails.\n\nSigned-off-by: Daniel Stone <daniels@collabora.com>\nReported-by: Eero Tamminen <eero.t.tamminen@intel.com>\nAcked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98833\nFixes: 9ca6711faa03 (\"Revert \"wayland: Block for the frame callback in get_back_bo not dri2_swap_buffers\"\")","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/1f2d0093bf5084f65a923582881dc74153c804a4"},{"sha":"f347bac30f4045a9583f95a5776484b1a2947183","author":{"name":"Tapani Pälli","email":"0a7e682da9c6f32c4c748292ba70304918782e40@intel.com"},"message":"egl/android: fix segfault within swap_buffers\n\nFunction droid_swap_buffers may get called without dri2_surf->buffer set,\nin these cases we don't have a back buffer set either. Patch fixes segfault\nseen with 3DMark that uses android.opengl.GLSurfaceView for rendering it's UI.\n\nbacktrace:\n   #00 pc 00013f88  /system/lib/egl/libGLES_mesa.so (droid_swap_buffers+104)\n   #01 pc 000117b2  /system/lib/egl/libGLES_mesa.so (dri2_swap_buffers+50)\n   #02 pc 000058b2  /system/lib/egl/libGLES_mesa.so (eglSwapBuffers+386)\n   #03 pc 00011329  /system/lib/libEGL.so (eglSwapBuffersWithDamageKHR+553)\n   #04 pc 000118e7  /system/lib/libEGL.so (eglSwapBuffers+55)\n   #05 pc 000754dc  /system/lib/libandroid_runtime.so\n\nNote, this is v1 as v2 caused dEQP regressions.\n\nFixes: 2acc69d (\"EGL/Android: Add EGL_EXT_buffer_age extension\")\nSigned-off-by: Tapani Pälli <tapani.palli@intel.com>\nReviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>\nAcked-by: Emil Velikov <emil.velikov@collabora.com>\nCc: \"17.1\" <mesa-stable@lists.freedesktop.org>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/f347bac30f4045a9583f95a5776484b1a2947183"},{"sha":"e19ea928b9ba3181d3416a8f388ee8276238dd76","author":{"name":"Emil Velikov","email":"d9929a7e50bb54719f2950c40b1ab01272dd4565@collabora.com"},"message":"egl: add g_egldispatchstubs.h to the release tarball\n\nFixes: ce562f9e3fa (\"EGL: Implement the libglvnd interface for EGL (v3)\")\nSigned-off-by: Emil Velikov <emil.velikov@collabora.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/e19ea928b9ba3181d3416a8f388ee8276238dd76"},{"sha":"5771ecc90ee7625564c1d3cea1a4fc382b0f58b5","author":{"name":"Rob Herring","email":"b1c4db6d7090d3e65a0bb8b2af31f7af91ca5a05@kernel.org"},"message":"virgl: fix virgl_bo_transfer_{put, get} box struct copy\n\nCommit 3dfe61ed6ec6 (\"gallium: decrease the size of pipe_box - 24 -> 16\nbytes\") changed the size of pipe_box, but the virgl code was relying on\npipe_box and drm_virtgpu_3d_box structs having the same size/layout doing\na struct copy. Copy the fields one by one instead.\n\nCc: Marek Olšák <marek.olsak@amd.com>\nCc: Dave Airlie <airlied@redhat.com>\nFixes: 3dfe61ed6ec (\"gallium: decrease the size of pipe_box - 24 -> 16 bytes\")\nSigned-off-by: Rob Herring <robh@kernel.org>\nReviewed-by: Marek Olšák <marek.olsak@amd.com>","distinct":false,"url":"https://api.github.com/repos/evelikov/Mesa/commits/5771ecc90ee7625564c1d3cea1a4fc382b0f58b5"}]}
{"actor":{"display_login":"evelikov"}}