Age | Commit message (Collapse) | Author |
|
vc4 uses libexpat in a decoder component, while from O+
Android doesn't expect libexpat to be linked into any code.
This patch disables vc4 usage of the xml portions, to allow
building aosp/master.
Change-Id: I9a322ecc14851d0fa6790ef7ab048517e9460864
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
|
|
As part of TREBLE, libexpat linking is prohibited; this patch
allows us to build mesa3d while enabling TREBLE.
It is a HACK, in that it doesn't provide replacement functionality
for gen_decoder, just empty dummies.
Change-Id: I6de9092b1a7618cc769a6ea92b5128ea645a3adc
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
|
|
Android version O and later would like to use altxmlconfig
instead of libexpat based parsing.
We enable altxmlconfig instead of xmlconfig.c for Android O+.
Change-Id: Iaa51b2a1e9c16a1fdf6f120104429b19dc68f9eb
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
|
|
Core mesa uses libexpat to parse default configuration information
stored as xml in header files. This potentially allows userspaces to
supply their own configuration information, without a need to rebuild.
However, for userspaces that don't want or need to allow external
configuration, libexpat adds an un-necessary dependency.
This patch provides an alternate, static configuration for the
current defaults parsed for mesa core. This is a simple lookup with
the same current internal API as src/util/xmlconfig.c.
Change-Id: I81cf3817c4a6856a4b156646cf585e0152f93e02
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
|
|
commit 05f5122d4a60acd3890185b098757e3c152c5444 upstream.
If someone is importing a buffer, we can't really know the state of it's
contents, so assume it is valid.
Change-Id: I0af7259357a14b285eb31d937c2542ba32904ea7
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: Ib9b9c02c9a881a06fd511b19bac3ffe3a3815f08
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: I571071a4e46ba9e66c613d87211ac71de4a8e677
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: Id30db2ce07132e6b9ef6074caab05356418a4f51
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: Ifc37083c6cc4afe91a89e11e685dfcde7912fc99
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: Ie7f986539e822f7506f3ec01ceb97bfc3d8b0c3a
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Certain code in Mesa is generated by python scripts that want modules
that aren't part of Android's standard build requirements. This patch
introduces pre-generated versions of those files for our usage.
Test: Build now completes without needing additional python modules on
the host.
Bug: 32336912
Change-Id: I3db6b86db0ebf7f2fba78a0b3aa34e169471fd1a
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
Change-Id: Ib33d07141a3b3e68b2983810d19b17cf4ca8e99a
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
commit 092675ffa035 ("mesa3d: dragonboards: add format_srgb.c
to prebuilts") overrides the list of locally generated source
files(LOCAL_GENERATED_SOURCES) and we run into following build
error:
external/mesa3d/src/util/xmlpool.h:103:10: fatal error: 'xmlpool/options.h' file not found
Currently in src/util/Android.mk, LOCAL_GENERATED_SOURCES list
is populated as -->
LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES)
LOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H)
LOCAL_GENERATED_SOURCES := $(MESA_FORMAT_SRGB_C)
The last assignment ":=" effectively overrides the existing
LOCAL_GENERATED_SOURCES list including MESA_DRI_OPTIONS_H,
hence causing xmlpool/options.h file not found build error.
We fix the build by populating the LOCAL_GENERATED_SOURCES as:
LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES)
LOCAL_GENERATED_SOURCES := $(MESA_DRI_OPTIONS_H)
LOCAL_GENERATED_SOURCES += $(MESA_FORMAT_SRGB_C)
As for UTIL_GENERATED_SOURCES, since AOSP master build system
has started to police the use of non-hermetic tools from the
system PATH, see commit 5e0738226596 ("Add prebuilt-intermediates
for xmlpool) for reference, it is highly unlikely that we are
going to use UTIL_GENERATED_SOURCES ever agin. So it is safe to
assume and keep overriding the list of those util generated
source files, at least for now.
Change-Id: I173037f9303c849533037ac0abd09faf9544ce80
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
While building Android for dragonboards, the build fails since it
can't find the generated file format_srgb.c.
To work around this problem, introduce prebuilt-intermediates for
format_srgb.c from the current source tree.
Change-Id: I4c96e040f6b7c633ccf7f3b34c742a7fb6ee6592
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
The AOSP master build system has started to police the use of
non-hermetic tools from the system PATH. The Mesa project was using
xgettext and other tools which are not part of the standard Android host
build tools, and are therefore not allowed. This ban is now being
enforced.
To work around this problem, introduce prebuilt-intermediates for
xmlpool based on the current source tree.
Bug: 116125577
Change-Id: Ica53192b4c5495550ce5d6b49510b5984cedd4be
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
The current AOSP master build system breaks building mesa due to the
following error:
external/mesa3d/src/compiler/Android.glsl.gen.mk:94: error:
writing to readonly directory: "external/mesa3d/src/compiler/glsl/ir.h"
This error is bogus -- nothing "writes" to ir.h -- but the rule is
unnecessary because the generated header that is a dependency of the
non-generated header should be added to LOCAL_GENERATED_SOURCES and this
will track if the dependency needs to be regenerated.
(This change fixes a similar problem affecting nir.h too.)
Bug: 116125577
Change-Id: I79c8292bdba7ce384ae4f2d44e5c6d69c60f9538
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
This enables the remaining capabilities in SPV_EXT_descriptor_indexing.
Fixes: 6e230d7607f "anv: Implement VK_EXT_descriptor_indexing"
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
|
This enables the remaining capabilities in SPV_EXT_descriptor_indexing.
Fixes: 0e10790558b "radv: Enable VK_EXT_descriptor_indexing."
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
|
Add ShaderNonUniformEXT, UniformBufferArrayNonUniformIndexingEXT,
SampledImageArrayNonUniformIndexingEXT,
StorageBufferArrayNonUniformIndexingEXT,
StorageImageArrayNonUniformIndexingEXT,
InputAttachmentArrayNonUniformIndexingEXT,
UniformTexelBufferArrayNonUniformIndexingEXT and
StorageTexelBufferArrayNonUniformIndexingEXT capabilities.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
|
The code was handling the Weak variant in some cases, but missing
others, e.g. the get_deref_nir_atomic_op. Add all the missing cases
with the same behavior of the non-Weak SpvOpAtomicCompareExchange.
Note that the Weak variant is basically an alias, as SPIR-V 1.3,
Revision 7 says
"OpAtomicCompareExchangeWeak
Deprecated (use OpAtomicCompareExchange).
Has the same semantics as OpAtomicCompareExchange."
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
|
|
These files implement running almost all of deqp-gles2 on Chomebooks of
the rk3399-gru-kevin type in Collabora's LAVA lab.
The approach follows what is currently being used for virglrenderer,
but scheduling the actual test jobs via LAVA.
We start by building a container in Docker that contains a suitable
rootfs and kernel for the DUT, deqp and all dependencies for building
Mesa itself.
The Mesa is built and the rootfs, deqp and Mesa are combined in a cpio
ramdisk. A LAVA job is generated, submitted to LAVA and the results are
processed by simply comparing them to the expectations that are stored
in git. Any code that changes the expectations (hopefully tests are
fixed) needs to also update the expectations file.
The next step is adding support for other devices, possibly in other
LAVA labs.
In order to use this, the repository has to be configured to run the
gitlab-ci.yaml file from the panfrost/ci dir, and a LAVA token needs to
be setup.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
|
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Small cleanup. No need to defer this to emit time.
Signed-off-by: Rob Clark <robdclark@chromium.org>
|
|
Prep work for fb_read (blend_equation_advanced)
Switch to using 'enum pipe_shader_type' everywhere, and (optional, in
non-cache / slowpath case) pass ctx instead of image/ssbo state. In the
fb_read case we also need to access the framebuffer state, so having
the ctx simplifies things.
Signed-off-by: Rob Clark <robdclark@chromium.org>
|
|
Because who are we kidding... it is a sysval.
Signed-off-by: Rob Clark <robdclark@chromium.org>
|
|
This patch re-enables fast color clears for GEN11.
It also ensures that we use linear color formats
for sRGB surfaces during fast clears.
Signed-off-by: Plamena Manolova <plamena.n.manolova@gmail.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Hardware docs say that Gen11 requires the use of two MI_ATOMICs of size
QWORD when updating the clear color. The second MI_ATOMIC also needs CS
Stall and Return Data Control set.
v2: Remove include of srgb header (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
Change some of the single bit fields to booleans, and add an enum with
the definition of the ATOMIC_OPCODE.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
With python's int(), if the optional second parameter is 0, then
python will support the 0x prefix for hex numbers.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
The ClearColorConversionEnable bit needs to be set
for GEN11 when inderect clear colors are used.
Signed-off-by: Plamena Manolova <plamena.n.manolova@gmail.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
|
|
Leftovers from when autotools was deleted.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
One special case, `src/util/xmlpool/.gitignore` is not entirely deleted,
as `xmlpool.pot` still gets generated (eg. by `ninja xmlpool-pot`).
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
The hardware feature is new as of Gen9+. I accidentally enabled it on
Gen8.
|
|
I was setting it based off a pipe_rasterizer_state field that appears
to be entirely dead outside of the draw module respecting it.
I should be setting it when the primitive type reaching the SF is
neither points nor lines. This is, unfortunately, rather dirty,
as we have to look at the rasterizer state, the geometry shader state,
the tessellation evaluation shader state, and the primitive type...
|
|
https://reviews.llvm.org/rL356946 (present in LLVM 9 and later) changed
the meaning of the "system" sync scope, making it no longer restricted to
the memory operation's address space. So a single address space sync scope
is needed for shared atomic operations (such as "system-one-as" or
"workgroup-one-as") otherwise buffer_wbinvl1 and s_waitcnt instructions
can be created at each shared atomic operation.
This mostly reimplements LLVMBuildAtomicRMW and LLVMBuildAtomicCmpXchg
to allow for more sync scopes and uses the new functions in ac->nir with
the "workgroup-one-as" or "workgroup" sync scopes.
F1 2017 (4K, Ultra High settings, TAA), avg FPS : 59 -> 59.67 (+1.14%)
Strange Brigade (4K, ~highest settings), avg FPS : 51.5 -> 51.6 (+0.19%)
RotTR/mountain (4K, VeryHigh settings, FXAA), avg FPS : 57.2 -> 57.2 (+0.0%)
RotTR/tomb (4K, VeryHigh settings, FXAA), avg FPS : 42.5 -> 43.0 (+1.17%)
RotTR/valley (4K, VeryHigh settings, FXAA), avg FPS : 40.7 -> 41.6 (+2.21%)
Warhammer II/fallen, avg FPS : 31.63 -> 31.83 (+0.63%)
Warhammer II/skaven, avg FPS : 37.77 -> 38.07 (+0.79%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
|
To quote Uli Schlachter, who understands this stuff more than I do:
> The function __glXSendError() in mesa's src/glx/glx_error.c invents an X11
> protocol error out of thin air. For the sequence number it uses dpy->request.
> This is the sequence number of the last request that was sent. _XError() will
> then update dpy->last_request_read based on the sequence number of the error
> that just "came in".
>
> If now another something comes in with a sequence number less than
> dpy->last_request_read, since sequence numbers are monotonically increasing,
> widen() will incorrectly add 1<<32 to the sequence number and things might go
> downhill afterwards.
`__glXSendErrorForXcb` was also patched, as that's the function that
`glXCreateContextAttribsARB` actually uses.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99781
Cc: mesa-stable@lists.freedesktop.org
Fixes: ad503c41 'apple: Initial import of libGL for OSX from AppleSGLX svn repository'
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Hal Gentz <zegentzy@protonmail.com>
|
|
In commit 0d46e404 ("anv: limit URB reconfigurations when using
blorp") we tried to limit the number of URB reconfiguration by
checking if the last allocation is large enough to fit the blorp
dispatch.
We used the last bound pipeline to compare the allocation. The problem
with this is that the pipeline is bound but its commands might not
have been emitted into the command buffer yet.
Let's just revert commit 0d46e404677264bfb12ada15290e39c10a5eb455
since it didn't seem to yield any performance improvement.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 0d46e404 ("anv: limit URB reconfigurations when using blorp")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110535
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
|
|
This code is essentially dead now.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
|
It's prefectly legal and well-defined to render using a non-existing
or empty buffer object. The data coming out of the buffer object isn't
well defined unless we have the robustness flag set on the context, but
that's a different matter, and up to the shader hardware; it's the same
as out-of-bounds reads.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
|
It's legal for a buffer-object to have a NULL-resource, but let's just
skip over it, as there's nothing to do.
This patch switches the order of the conditionals in swr_update_derived,
so the logic becomes a bit more straight forward:
if (is_user_buffer)
...
else if (resource)
...
else
...
...instead of this:
if (!is_user_buffer)
if (resource)
...
else
...
else
...
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Alok Hota <alok.hota@intel.com>
|
|
It's legal for a buffer-object to have a NULL-resource, but let's just
skip over it, as there's nothing to do.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
|
|
It's legal for a buffer-object to have a NULL-resource, but let's just
skip over it, as there's nothing to do.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
|
|
It's legal for a buffer-object to have a NULL-resource, but let's just
skip over it, as there's nothing to do.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
|
st_setup_current never sets this flag, and it's already checked against
right before. So let's remove this pointless check.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
|
From page 76 (page 80 of the PDF) of the GLSL 4.60 v.5 spec:
" No aliasing in output buffers is allowed: It is a compile-time or
link-time error to specify variables with overlapping transform
feedback offsets."
Currently, this is expected to fail, but it succeeds:
"
...
layout (xfb_offset = 0) out vec2 a;
layout (xfb_offset = 0) out vec4 b;
...
"
Fixes the following piglit test:
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_offset/invalid-overlap.vert
Fixes the following test:
KHR-GL44.enhanced_layouts.xfb_output_overlapping
v2:
- Use a data structure to track the used components instead of a
nested loop (Ilia).
v3:
- Take the BITSET_WORD array out from the
gl_transform_feedback_buffer struct and make it local to the
validation process (Timothy).
- Do not use a nested scope for the validation (Timothy).
v4:
- Add reference to the fixed piglit test in the commit log.
- Add reference to the fixed VK-GL-CTS test in the commit
log (Tapani).
- Empty initialize the BITSET_WORD pointers array (Tapani).
Cc: Timothy Arceri <tarceri@itsqueeze.com>
Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
|
|
Issue detected by valgrind.
Fixes: 92d7ca4b1cd ("gallium: add lima driver")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
|
|
Before setting the physical device API version, we should check if the
MESA_VK_VERSION_OVERRIDE environment variable is set and take it into
account.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
|
|
While we can clean this up later, it's trivial to not generate the
stupid code in the first place, which saves some optimization work.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
|
Helper and name suggested by Eric Anholt.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
|
Similar to list_is_singular() in util/list.h.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
|