Timothy Arceri
4339ecde35
disk_cache: move cache dir generation into OS specific helper file
...
This will make windows support easier to add in future. To avoid code
churn this temporarily duplicates the mkdir_if_needed() function, we
will delete the duplicate in a following patch.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6197 >
2020-09-11 06:03:58 +00:00
Vinson Lee
65d0fa0852
nv50/ir: Remove duplicate mask assignment.
...
A duplicate assignment was added in f2924994bd ("nv50/ir: add
nv50_ir_prog_info_out").
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6674 >
2020-09-11 00:44:49 +00:00
Vinson Lee
a2a330a4ed
nv50/ir: Add fallthrough statement.
...
Fix defect reported by Coverity Scan.
Missing break in switch (MISSING_BREAK)
unterminated_case: The case for value
nir_intrinsic_bindless_image_samples is not terminated by a 'break'
statement.
Suggested-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6645 >
2020-09-10 17:30:16 -07:00
Marek Olšák
50d335804f
nir/algebraic: add late optimizations that optimize out mediump conversions (v3)
...
v2: move *2*mp patterns to the end of late_optimizations
v3: remove ftrunc from the optimizations to fix:
dEQP-GLES3.functional.shaders.builtin_functions.common.modf.vec2_lowp_vertex
Reviewed-by: Rob Clark <robdclark@chromium.org > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
b86305bb57
nir/algebraic: collapse conversion opcodes (many patterns)
...
mediump inserts a lot of conversions. This cleans up the IR.
All other combinations are covered too.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
cdd498bbe8
nir: add new mediump opcodes f2[ui]mp, i2fmp, u2fmp
...
Algebraic optimizations will select them.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
385b4dbc39
nir: enforce 32-bit src type requirement for f2fmp and i2imp
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
3d3df8dbff
nir: remove redundant opcode u2ump
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
26fc5e1f4a
nir/algebraic: expand existing 32-bit patterns to all bit sizes using loops
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Marek Olšák
3c8934a644
nir/algebraic: add flrp patterns for 16 and 64 bits
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Alyssa Rosenzweig
3064feb235
pan/mdg: Obey f2fmp size restriction in fuse_io_16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6283 >
2020-09-10 23:35:13 +00:00
Nanley Chery
5cd6235958
blorp: Drop trailing whitespace in blorp_clear.c
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6650 >
2020-09-10 22:09:28 +00:00
Nanley Chery
1eff389bd3
blorp: Fix alignment test for HIZ_CCS_WT fast-clears
...
Remove the extra logical ORs in the ternary operation.
Fixes: 5425fcf2cb ("intel/blorp: Satisfy HIZ_CCS fast-clear alignments")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6650 >
2020-09-10 22:09:28 +00:00
Marek Olšák
40f7afc1e9
nir: fix lower_mediump_outputs to not require variables
...
If IO is lowered, NIR doesn't have to contain any IO variables
(and in fact radeonsi removes them and other drivers should too).
This makes the pass work without variables.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6621 >
2020-09-10 19:52:57 +00:00
Marek Olšák
c2ae39e0ce
nir: add mediump flag to IO semantics
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6621 >
2020-09-10 19:52:57 +00:00
Adam Jackson
5e9e457383
glx/dri3: Implement GLX_EXT_swap_control_tear
...
Not wired up for DRI2 because it would require server-side support,
which I'm not especially interested in writing.
Fixes : mesa/mesa#96
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6671 >
2020-09-10 14:48:19 -04:00
Adam Jackson
60ebeb4608
glx: Implement GLX_EXT_swap_control for DRI2 and DRI3
...
This is a slight generalization of the existing SGI and MESA swap
control extensions, and a prerequisite for GLX_EXT_swap_control_tear.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6671 >
2020-09-10 14:48:19 -04:00
Adam Jackson
b8239abdf8
glx: Reject glXSwapIntervalMESA greater than INT_MAX
...
It wouldn't work in any case, as the internal API only stores a signed
int, and GLX_EXT_swap_control_tear will overload the meaning of negative
values so we should avoid ambiguity.
If your application needs a swap interval in excess of ~414.25 days, I'm
very sorry.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6671 >
2020-09-10 14:48:19 -04:00
Adam Jackson
e648442ceb
glx: Collect all the non-applegl extensions in the GetProcAddress table
...
No functional change, just reducing #ifdef clutter.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6671 >
2020-09-10 14:48:19 -04:00
Adam Jackson
72a0f7496a
glx: Use GLX_FUNCTION2 only for actually aliased function names
...
I find the __glX naming convention distasteful for a bunch of reasons,
not least that I expect "vi -t glXBindTexImageEXT" to take me someplace
useful. The functions we're referencing here should not be exported from
libGL (hence the static / _X_HIDDEN) but that's no reason not to name
them correctly.
This does have one possible, very minor, correct functional change,
glXGetMscRateOML now returns Bool (unsigned int) instead of GLboolean
(unsigned char); if your psABI really only writes to a single byte of
the return register when the return type is char-like, then we probably
would not have returned false when we meant to. At least for amd64 this
does not seem to be an issue; the old code wrote 0 to %eax, the new code
does a zero-extended load from %al to %eax (since the internal function
still returns GLboolean).
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6671 >
2020-09-10 14:48:19 -04:00
Adam Jackson
77d2562793
wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR
...
This is just PresentOptionAsync.
Fixes : mesa/mesa#3483
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6673 >
2020-09-10 14:17:47 -04:00
Christian Gmeiner
2f62a44df0
ci: do not build libdrm for vc4, reedreno and etnaviv
...
They are using a in source tree version of the needed libdrm
functionality or are shipping all needed headers in the source tree.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6672 >
2020-09-10 14:13:37 +00:00
Jonathan Marek
52becd39a5
turnip: rework vertex buffers draw state handling
...
This exploits a HW optimization for when only the size of a draw state is
changed, to make things simpler and more optimal (assuming a well behaved
user which doesn't unecessarily call CmdBindVertexBuffers many times)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6665 >
2020-09-10 13:14:05 +00:00
Marcin Ślusarz
69e65b9cf0
intel/tools: fix possible randomly increased verbosity of error2aub
...
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
18eb853ac8
intel/compiler: quiet Coverity warnings
...
Coverity complains about possible out-of-bounds write & read, because
it thinks that "loc + i" can be bigger than sizes of the 2 used arrays.
It's not obvious from the code it cannot happen, so add asserts here.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
5b6fd2a314
intel/tools: handle ftell errors
...
Found by Coverity, as "argument cannot be negative", referring to
fread's 2nd argument.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
46a82aa3a6
intel/tools: fix possible memory leak in the error path
...
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
5ea0b6a9c6
intel/compiler: initialize remaining fields of various classes
...
These variables seem to be initialized before being used, so this
patch is not fixing any bug, but leaving them unitialized may become
a bug after some refactoring.
These classes were affected: fs_reg_alloc, fs_visitor, fs_generator,
instruction_scheduler.
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
40b964dc8f
intel/compiler: remove unused fs_validator::param_size
...
Found by Coverity as unitialized variable.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Marcin Ślusarz
d3cd24999f
anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue
...
Found by Coverity.
Fixes: 2001a80d4a ("anv: Implement VK_KHR_performance_query")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6667 >
2020-09-10 12:16:58 +00:00
Pierre-Eric Pelloux-Prayer
265a3b9624
driconf: add option to reuse GL names
...
Fix apps expecting name recycling.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3144 is an example
of such issue, SPECviewperf13 has this problem too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:09:34 +02:00
Pierre-Eric Pelloux-Prayer
a56849ddda
mesa: use _mesa_HashFindFreeKeys for GL functions
...
This allows to implement name reuse if we want to.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
60ffadcbc0
mesa: add _mesa_HashFindFreeKeys
...
_mesa_HashFindFreeKeyBlock function returns a name range, so it cannot be
used to recycle non-consecutive names.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
fefc6d264a
mesa: add GL name reuse support
...
This will allow drivers to adopt the behavior of proprietary drivers that seem
to return the lowest available name (while Mesa returns max_seen_name + 1).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
34852124db
mesa: add a isGenName parameter to _mesa_HashInsert
...
Indicates if the given name has been returned by _mesa_HashFindFreeKeyBlock.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
553d371933
util/idalloc: add lowest_free_idx to avoid iterating from 0
...
lowest_free_idx is a conservative estimation of the lowest index
where a free id can be found.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
e808d38299
util/idalloc: add util_idalloc_reserve
...
Can be used to mark an id as used (if it was reclaimed without using
util_idalloc_alloc).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:11 +02:00
Pierre-Eric Pelloux-Prayer
87ef970ee6
mesa: move u_idalloc from gallium/aux/util to util
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6600 >
2020-09-10 09:07:03 +02:00
Rob Clark
911ce374ca
freedreno/a6xx: Fix MSAA clear
...
We need to do MSAA clear on the 3d pipe, it seems to not work out
properly on 2d pipe (at least for 4x MSAA and heights that are not
multiple of 16).
This matches what blob and tu seem to do. Fixes the following with
DEQP_CONFIG=rgba8888d24s8ms4
dEQP-GLES31.functional.primitive_bounding_box.depth.builtin_depth.per_primitive_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.depth.builtin_depth.per_primitive_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.depth.user_defined_depth.per_primitive_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.depth.user_defined_depth.per_primitive_bbox_larger
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Rob Clark
6e4d0a48e3
freedreno: Clear gs/tcs/tes state for clear blits
...
Otherwise we could emit a clear blit that is trying to use some random
GS stage, which doesn't go well.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Rob Clark
18f5d36282
freedreno/a6xx: Fix fd6_draw_vbo() return
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Rob Clark
46edc08fe5
freedreno/a6xx: Skip empty tile_setup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Rob Clark
74f1c50dc3
freedreno: Don't bypass fd_draw_vbo() in clear fallback
...
Otherwise we bypass all the resource-usage tacking.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Rob Clark
97e49b223c
freedreno: Fix rast state for multisample clear
...
a6xx in particular cares about the multisample bit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6649 >
2020-09-10 02:36:59 +00:00
Dave Airlie
b0722cb670
gallivm: disable brilinear for lod bias and explicit lod.
...
This allows GL 4.5 CTS to pass in full with no flags, other than
that I'm not sure if it's a good or bad idea.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6638 >
2020-09-10 11:38:19 +10:00
Eric Anholt
cd4fb5a434
freedreno/fdl: Add layout test for the Android CTS's MSAA mustpass surface.
...
Rob had a question of if we were laying things out the same as the blob.
This doesn't detect any difference in our layout, though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6589 >
2020-09-10 00:11:46 +00:00
Eric Anholt
14131ed308
freedreno/cffdec: Add support for texturator's 2DMS layout setup.
...
We can't initialize our MSAA texture with glTexImage2D(), so we have to do
a draw to get its slice's layout into the cmdstream.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6589 >
2020-09-10 00:11:46 +00:00
Eric Anholt
2f39727cc6
freedreno/cffdec: Fix up texturator parsing scripts for XML changes.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6589 >
2020-09-10 00:11:46 +00:00
Eric Anholt
bd647f8eb6
freedreno: Add another new sysmem flake.
...
This one blocked a marge merge a few minutes ago.
Fixes: b4317fccdd ("ci/bare-metal: Update the kernel to msm-next-pgtables")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6670 >
2020-09-09 23:47:46 +00:00
Vinson Lee
0bc36ef50e
spirv: Initialize spirv_test member shader.
...
Fix defect reported by Coverity Scan.
Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member shader is not initialized in this
constructor nor in any functions that it calls
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6640 >
2020-09-09 22:24:09 +00:00