- Jul 30, 2018
-
-
Lina Versace authored
Tested with a low-latency handwriting application on Android Nougat on the Chrome OS Pixelbook (codename Eve) with Kabylake. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: Ia816fa6b0a1158f81e5b63477451bf337c2001aa
-
Lina Versace authored
Specifically, implement the extension DRI_MutableRenderBufferLoader. However, the loader enables EGL_KHR_mutable_render_buffer only if the DRI driver implements its half of the extension, DRI_MutableRenderBufferDriver. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: I7fe68a5a674d1707b1e7251d900b3affd5dd7660
-
Lina Versace authored
A follow-up patch enables EGL_KHR_mutable_render_buffer for Android. This patch is separate from the Android patch because I think it's easier to review the platform-independent bits separately. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: I07470f2862796611b141f69f47f935b97b0e04a1
-
Lina Versace authored
If set, then the config will have __DRI_ATTRIB_MUTABLE_RENDER_BUFFER, which translates to EGL_MUTABLE_RENDER_BUFFER_BIT_KHR. Not used yet. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: Icdf35794f3e9adf31e1f85740b87ce155efe1491
-
Lina Versace authored
Define extensions DRI_MutableRenderBufferDriver and DRI_MutableRenderBufferLoader. These are the two halves for EGL_KHR_mutable_render_buffer. Outside the DRI code there is one additional change. Add gl_config::mutableRenderBuffer to match __DRI_ATTRIB_MUTABLE_RENDER_BUFFER. Neither are used yet. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: I4ca03d81e4557380b19c44d8d799a7cc9365d928
-
Lina Versace authored
This pulls an 'else' block into the function's main body, making the code easier to follow. Without this change, the upcoming EGL_KHR_mutable_render_buffer patch transforms dri2_make_current() into spaghetti. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: I26be2b7a8e78a162dcd867a44f62d6f48b9a8e4d
-
Lina Versace authored
There exist *two* queryable EGL_RENDER_BUFFER states in EGL: eglQuerySurface(EGL_RENDER_BUFFER) and eglQueryContext(EGL_RENDER_BUFFER). These changes eliminate potentially very fragile code in the upcoming EGL_KHR_mutable_render_buffer implementation. * eglQuerySurface(EGL_RENDER_BUFFER) The implementation of eglQuerySurface(EGL_RENDER_BUFFER) contained abstruse logic which required comprehending the specification complexities of how the two EGL_RENDER_BUFFER states interact. The function sometimes returned _EGLContext::WindowRenderBuffer, sometimes _EGLSurface::RenderBuffer. Why? The function tried to encode the actual logic from the EGL spec. When did the function return which variable? Go study the EGL spec, hope you understand it, then hope Mesa mutated the EGL_RENDER_BUFFER state in all the correct places. Have fun. To simplify eglQuerySurface(EGL_RENDER_BUFFER), and to improve confidence in its correctness, flatten its indirect logic. For pixmap and pbuffer surfaces, simply return a hard-coded literal value, as the spec suggests. For window surfaces, simply return _EGLSurface::RequestedRenderBuffer. Nothing difficult here. * eglQueryContext(EGL_RENDER_BUFFER) The implementation of this suffered from the same issues as eglQuerySurface, and the solution is the same. confidence in its correctness, flatten its indirect logic. For pixmap and pbuffer surfaces, simply return a hard-coded literal value, as the spec suggests. For window surfaces, simply return _EGLSurface::ActiveRenderBuffer. BUG=b:77899911 TEST=No android-cts-7.1 regressions on Eve. Change-Id: Ic5f2ab1952f26a87081bc4f78bc7fa96734c8f2a
-
- Jul 25, 2018
-
-
Lina Versace authored
Problem 1: u_debug_stack_android.cpp transitively included "pipe/p_compiler.h", but src/gallium/include was missing from the C++ include path. Problem 2: Add -std=c++11 to AM_CXXFLAGS. Android's libbacktrace headers require C++11, but the Android toolchain (at least in the Chrome OS SDK) does not enable C++11 by default. v2: Add -std=c++11. Cc: Gurchetan Singh <gurchetansingh@chromium.org> Cc: Eric Engestrom <eric.engestrom@intel.com> Archived-At: https://lists.freedesktop.org/archives/mesa-dev/2018-July/200979.html (am from https://patchwork.freedesktop.org/patch/240805/) Fixes the build for betty-arcnext. BUG=b:77235812 TEST=emerge-betty-arcnext arc-mesa Change-Id: Idd30463f3941d7b119207aa5afd7e37e69b0a5ae Reviewed-on: https://chromium-review.googlesource.com/1149449 Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Commit-Queue: Chad Versace <chadversary@chromium.org>
-
- Jul 21, 2018
-
-
Lina Versace authored
In commit cf54bd5e, dri_sw_winsys.c began using <sys/shm.h> to support the new functions putImageShm, getImageShm in DRI_SWRastLoader. But Android began supporting System V shared memory only in Oreo. Nougat has no shm headers. Fix the build by ifdef'ing out the shm code on Nougat. Fixes: cf54bd5e "drisw: use shared memory when possible" Cc: Marc-André Lureau <marcandre.lureau@gmail.com> Cc: Dave Airlie <airlied@redhat.com> Archived-At: https://lists.freedesktop.org/archives/mesa-dev/2018-July/200705.html (am from https://patchwork.freedesktop.org/patch/240173/) Fixes the build for betty. BUG=b:77235812 TEST=emerge-betty arc-mesa Change-Id: I5fc7214cd30fdea49b69cdc860cefd622466c7da Reviewed-on: https://chromium-review.googlesource.com/1146074 Tested-by:
Chad Versace <chadversary@chromium.org> Trybot-Ready: Chad Versace <chadversary@chromium.org> Reviewed-by:
Ilja H. Friedel <ihf@chromium.org> Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
-
- Jul 17, 2018
-
-
Lepton Wu authored
The current code is buggy: if there are only 12 dwords left in cbuf, we emit a zero data length command which will be rejected by virglrenderer. Fix it by calling flush in this case. Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Dave Airlie <airlied@redhat.com> (cherry-picked from commit 04e278f7) BUG=b:111521569 Change-Id: Ie952ece5e31ee94c5fb7e6ecb3e1de807a21763b Reviewed-on: https://chromium-review.googlesource.com/1140419 Tested-by:
Lepton Wu <lepton@chromium.org> Trybot-Ready: Lepton Wu <lepton@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org> Commit-Queue: Lepton Wu <lepton@chromium.org>
-
- Jul 12, 2018
-
-
Lepton Wu authored
Instead of handling software fallback inside platform_android, just let EGL framework to handle it. With this, we still can fall back to software driver when hardware driver actually doesn't work. BUG=b:77302150 TEST=manual - make sure betty still boot without virgl driver. Change-Id: I5d514f67c9dc6f68661e03fd9fc9546acd7277bd Reviewed-on: https://chromium-review.googlesource.com/1004006 Commit-Ready: Lepton Wu <lepton@chromium.org> Tested-by:
Lepton Wu <lepton@chromium.org> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> (cherry picked from commit b16fbdb1) [chadversary: Simplify by dropping unneeded 'swrast' param.] BUG=b:77235812 TEST=emerge-grunt arc-mesa; emerge-eve arc-mesa Change-Id: Ib896c3f16dcd5fdddc0a7eb9e72caa7f2037c2f3 Reviewed-on: https://chromium-review.googlesource.com/1105708 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Ilja H. Friedel <ihf@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Emil Velikov authored
As said in the EGL_KHR_platform_android extensions For each EGLConfig that belongs to the Android platform, the EGL_NATIVE_VISUAL_ID attribute is an Android window format, such as WINDOW_FORMAT_RGBA_8888. Although it should be applicable overall. Even though we use HAL_PIXEL_FORMAT here, those are numerically identical to the WINDOW_FORMAT_ and AHARDWAREBUFFER_FORMAT_ ones. Barring the said format of course. That one is only listed in HAL. Keep in mind that even if we try to use the said format, you'll get caught by droid_create_surface(). The function compares the format of the underlying window, against the NATIVE_VISUAL_ID of the config. Unfortunatelly it only prints a warning, rather than error out, likely leading to visual corruption. While SDL will even call ANativeWindow_setBuffersGeometry() with the wrong format, and conviniently ignore the [expected] failure. Cc: mesa-stable@lists.freedesktop.org Cc: Chad Versace <chadversary@google.com> Cc: Tomasz Figa <tfiga@chromium.org> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Acked-by:
Tomasz Figa <tfiga@chromium.org> (am from https://patchwork.freedesktop.org/patch/166176/ ) (tfiga: Remove only respective EGL config, leave EGL image as is.) BUG=b:33533853 TEST=dEQP-EGL.functional.*.rgba8888_window tests pass on eve Change-Id: I8eacfe852ede88b24c1a45bff1445aacd86f6992 Signed-off-by:
Tomasz Figa <tfiga@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/582263 Reviewed-by:
Chad Versace <chadversary@chromium.org> (cherry picked from commit 42c96d39) BUG=b:77235812 TEST=emerge-grunt arc-mesa; emerge-eve arc-mesa Change-Id: I74e91a3621fcc9c80633cf512a8d08782ac6e1d7 Reviewed-on: https://chromium-review.googlesource.com/1105707 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Stéphane Marchesin authored
This patch adds support for opening render nodes directly from within display initialization, Instead of relying on private interfaces provided by gralloc. In addition to having better separation from gralloc and being able to use different render nodes for allocation and rendering, this also fixes problems encountered when using the same DRI FD for gralloc and Mesa, when both stepped each over another because of shared GEM handle namespace. BUG=b:29036398 TEST=No significant regressions in dEQP inside the container Signed-off-by:
Tomasz Figa <tfiga@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/367215 Reviewed-by:
Nicolas Boichat <drinkcat@chromium.org> (cherry picked from commit 1171bddb) BUG=b:77235812 TEST=emerge-grunt arc-mesa; emerge-eve arc-mesa Change-Id: Ib76d2f02077e3f679ca86d31fc999bff3a46edf0 Reviewed-on: https://chromium-review.googlesource.com/1105706 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Tapani Pälli authored
GLSL ES 320 technically allows #line to have arbitrary expression trees rather than integer literal constants, unlike the C and C++ preprocessor. This is likely a completely unused feature that does not make sense. However, Android irritatingly mandates this useless behavior, so this patch implements a hack to try and support it. We handle a single expression: #line <line number expression> but we avoid handling the double expression: #line <line number expression> <source string expression> because this is an ambiguous grammar. Instead, we handle the case that wraps both in parenthesis, which is actually well defined: #line (<line number expression>) (<source string expression>) With this change following tests pass: dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_vertex dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_fragment dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_vertex dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_fragment Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> BUG=b:33352633 BUG=b:33247335 TEST=affected tests passing on CTS 7.1_r1 sentry Reviewed-on: https://chromium-review.googlesource.com/427305 Tested-by:
Haixia Shi <hshi@chromium.org> Reviewed-by:
Ilja H. Friedel <ihf@chromium.org> Commit-Queue: Haixia Shi <hshi@chromium.org> Trybot-Ready: Haixia Shi <hshi@chromium.org> (cherry picked from commit 5ec83db3) BUG=b:77235812 TEST=emerge-grunt arc-mesa; emerge-eve arc-mesa Change-Id: Ie12a03e7642ac4f5d79e0b6b20e16d7653c3395c Reviewed-on: https://chromium-review.googlesource.com/1105705 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Stéphane Marchesin authored
Fixes a crash when we have too many samplers. BUG=chromium:141901 TEST=by hand Signed-off-by:
Prince Agyeman <prince.agyeman@intel.com> Signed-off-by:
Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by:
James Ausmus <james.ausmus@intel.com> (cherry picked from commit 403ab711) BUG=b:77235812 TEST=emerge-grunt arc-mesa; emerge-eve arc-mesa Change-Id: I8ffebdae3bdab68da4277193fe367959ab719796 Reviewed-on: https://chromium-review.googlesource.com/1105702 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Lina Versace authored
In a single call to vk_errorf() in the Android code, the arguments were swapped. The bug has existed since day one. Chrome OS used to forgive the warning, but it is now a compilation error. CC: <mesa-stable@lists.freedesktop.org> Fixes: 053d4c32 "anv: Implement VK_ANDROID_native_buffer (v9)" Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> (cherry picked from commit be5fc0d7) BUG=b:77235812 TEST=emerge-eve arc-mesa Change-Id: I0dde2e53eeb09af34d629b17d0692f0e00151fdf Reviewed-on: https://chromium-review.googlesource.com/1133766 Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org> Commit-Queue: Chad Versace <chadversary@chromium.org>
-
Lina Versace authored
Changes to vk.xml and anv_entrypoints_gen.py broke the Autotools build on Android. The changes undef'd the VK_ANDROID_native_buffer entrypoints in anv_entrypoints.h. Fix it with CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR. CC: <mesa-stable@lists.freedesktop.org> See-Also: 63525ba7 "android: enable VK_ANDROID_native_buffer" Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> (cherry picked from commit 8e403bc9) BUG=b:77235812 TEST=none (because anv doesn't build yet) Change-Id: Ic3b8dbeab7ee8663ca6dcca0401dc6340dddf832 Reviewed-on: https://chromium-review.googlesource.com/1133765 Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org> Commit-Queue: Chad Versace <chadversary@chromium.org>
-
Stéphane Marchesin authored
Make gallium work again with new chrome. BUG=none TEST=compile Signed-off-by:
James Ausmus <james.ausmus@intel.com> Signed-off-by:
Prince Agyeman <prince.agyeman@intel.com> Signed-off-by:
Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> (cherry picked from commit 8940a624) BUG=b:77235812 TEST=emerge-grunt arc-mesa Change-Id: I450f99e8e9c83a55626a28b80d5ed4ce884c8298 Reviewed-on: https://chromium-review.googlesource.com/1105701 Commit-Queue: Chad Versace <chadversary@chromium.org> Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
Lina Versace authored
Chromium OS uses Autotools and pkg-config when building Mesa for Android. The gallium drivers were failing to find the headers and libraries for zlib and Android's libbacktrace. v2: - Don't add a check for zlib.pc. configure.ac already checks for zlib.pc elsewhere. [for tfiga] - Check for backtrace.pc separately from the other Android libs. [for tfiga] Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit dc666542) BUG=b:79872606 TEST=emerge-grunt arc-mesa CQ-DEPEND=CL:1105634 Change-Id: If2e7fd953786723d6b7194f9174f5856a55c3b14 Reviewed-on: https://chromium-review.googlesource.com/1105700 Tested-by:
Chad Versace <chadversary@chromium.org> Commit-Queue: Chad Versace <chadversary@chromium.org> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org>
-
- Jun 22, 2018
-
-
Tomasz Figa authored
This makes it so that we don't need to run 'repo upload --no-verify'. BUG=b:26574868 TEST=ran upload on some CLs Change-Id: I0b22a5ee0321dc454affeefcfac0eee75490bd6e Reviewed-on: https://chromium-review.googlesource.com/780587 Tested-by:
Chad Versace <chadversary@chromium.org> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Commit-Queue: Chad Versace <chadversary@chromium.org> (cherry picked from commit 7cc5c96a) BUG=b:77235812 TEST=none Change-Id: Ia4285d3e178787874f439b76aaf8717f50fd7df2 Reviewed-on: https://chromium-review.googlesource.com/1105699 Reviewed-by:
Bas Nieuwenhuizen <basni@chromium.org> Reviewed-by:
Stéphane Marchesin <marcheu@chromium.org> Commit-Queue: Ilja H. Friedel <ihf@chromium.org> Tested-by:
Ilja H. Friedel <ihf@chromium.org> Trybot-Ready: Ilja H. Friedel <ihf@chromium.org>
-
- Jun 19, 2018
-
-
Timothy Arceri authored
Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Timothy Arceri authored
This relaxes a number of ES shader restrictions allowing shaders to follow more desktop GLSL like rules. This initial implementation relaxes the following: - allows linking ES shaders with desktop shaders - allows mismatching precision qualifiers - always enables standard derivative builtins These relaxations allow Google Earth VR shaders to compile. Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Timothy Arceri authored
Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Timothy Arceri authored
Google Earth VR shaders uses builtins in constant expressions with GLSL 1.10. That feature wasn't allowed until GLSL 1.20. Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Timothy Arceri authored
Glibc has the same code to get program_invocation_short_name. However for some reason the short name gets mangled for some wine apps. For example with Google Earth VR I get: program_invocation_name: "/home/tarceri/.local/share/Steam/steamapps/common/EarthVR/Earth.exe" program_invocation_short_name: "e" Acked-by:
Eric Engestrom <eric.engestrom@intel.com>
-
Bas Nieuwenhuizen authored
We HTILE compress stencil-only surfaces too. CC: 18.1 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Faith Ekstrand authored
The Vulkan API has only one patch version shared among all of the major.minor versions. We should also advertise the same patch version regardless of major.minor. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106941 Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
- Jun 18, 2018
-
-
Timothy Arceri authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Timothy Arceri authored
This is required for compatibility profile support. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com>
-
Emma Anholt authored
This should fix TF across a glFlush() or TF pause/restart. Fixes dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_float and many, many others.
-
Marek Olšák authored
Tested-by:
Dieter Nützel <Dieter@nuetzel-hh.de>
-
Rafael Antognolli authored
If we are on gen8+ and have context isolation support, just make that constant buffer address be absolute, so we can use it for push UBOs too. v2: Do not duplicate constant_buffer_0_is_relative flag (Jason) Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Rafael Antognolli authored
Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Rafael Antognolli authored
Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Reviewed-by:
Bruce Cherniak <bruce.cherniak@intel.com>
-
Eric Engestrom authored
It's a bit late to round up after an integer division. Fixes: de889794 "radv: Implement VK_AMD_shader_info" Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Alex Smith <asmith@feralinteractive.com>
-
Eric Engestrom authored
Fixes: 67f40dad "mesa: add support for ARB_sample_locations" Cc: Rhys Perry <pendingchaos02@gmail.com> Cc: Brian Paul <brianp@vmware.com> Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com>
-
Bas Nieuwenhuizen authored
Drops the number of time we set the scissor by 4x for F1 2017, which results in a consistent performance improvement of about 4%. Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com>
-
Eric Engestrom authored
Fixes: 922cd381 "radv: implement out-of-order rasterization when it's safe on VI+" Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com>
-
Eric Engestrom authored
Shouldn't make any functional difference, just that `liblibanv_gen90.a` will now be called `libanv_gen90.a`. Fixes: 3218056e "meson: Build i965 and dri stack" Fixes: d1992255 "meson: Add build Intel "anv" vulkan driver" Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-