Boris Brezillon
e1ba0cd452
pan/midgard: Add nir_intrinsic_store_zs_output_pan support
...
ZS fragment stores are done like color fragment stores, except it's
using a different RT id (0xFF), the depth and stencil values are stored
in r1.x and r1.y.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
[Fix the scheduling part]
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3697 >
2020-02-05 15:41:55 +00:00
Boris Brezillon
f5619f5073
pan/midgard: Turn Z/S stores into zs_output_pan intrinsics
...
Midgard can't write depth and stencil separately. It has to happen in
a single store operation containing both. Let's add a panfrost specific
intrinsic and turn all depth/stencil stores into a packed depth+stencil
one.
Note that this intrinsic is not yet handled in emit_intrinsic(), but
we'll address that later.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3697 >
2020-02-05 15:41:55 +00:00
Ian Romanick
59488cbbac
intel/fs: Don't count integer instructions as being possibly coissue
...
Integer instructions don't coissue. Before e64be391dd
("intel/compiler: generalize the combine constants pass"), this pass
only looked at float sources. There's no shader-db data in that commit,
so I collected some. The results are not good:
Haswell
total instructions in shared programs: 11898805 -> 11908127 (0.08%)
instructions in affected programs: 1218680 -> 1228002 (0.76%)
helped: 2
HURT: 5171
helped stats (abs) min: 12 max: 111 x̄: 61.50 x̃: 61
helped stats (rel) min: 1.59% max: 9.20% x̄: 5.40% x̃: 5.40%
HURT stats (abs) min: 1 max: 311 x̄: 1.83 x̃: 1
HURT stats (rel) min: 0.02% max: 9.91% x̄: 1.05% x̃: 0.70%
95% mean confidence interval for instructions value: 1.55 2.05
95% mean confidence interval for instructions %-change: 1.02% 1.08%
Instructions are HURT.
total cycles in shared programs: 221664974 -> 221404750 (-0.12%)
cycles in affected programs: 120012620 -> 119752396 (-0.22%)
helped: 3464
HURT: 3159
helped stats (abs) min: 1 max: 428160 x̄: 314.55 x̃: 16
helped stats (rel) min: <.01% max: 57.33% x̄: 3.40% x̃: 1.28%
HURT stats (abs) min: 1 max: 87846 x̄: 262.54 x̃: 14
HURT stats (rel) min: <.01% max: 85.57% x̄: 3.01% x̃: 0.77%
95% mean confidence interval for cycles value: -224.23 145.65
95% mean confidence interval for cycles %-change: -0.50% -0.19%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 9804 -> 10047 (2.48%)
spills in affected programs: 6869 -> 7112 (3.54%)
helped: 2
HURT: 41
total fills in shared programs: 19863 -> 20319 (2.30%)
fills in affected programs: 17428 -> 17884 (2.62%)
helped: 2
HURT: 41
LOST: 20
GAINED: 13
This also prevents regressions in "intel/fs: Promote integer constants
after lowering integer multiplication" (note: that patch will probably
not be committed). When the passes are reorderd, code like
mul(8) acc0<1>D g9<8,8,1>D -2078209981D { align1 1Q };
gets turned into
mov(1) g23<1>D 2078209981D { align1 WE_all 1N };
...
mul(8) acc0<1>D g13<8,8,1>D -g23<0,1,0>D { align1 1Q compacted };
It's not 100% clear why, but these produce different results. Note that
-2078209981 & 0x0ffff = 0x0843, and -(2078209981 & 0x0ffff) =
0xffff0843. It seems like the upper 16-bits of the negation should be
ignored.
Fixes: e64be391dd ("intel/compiler: generalize the combine constants pass")
Cc: Iago Toral Quiroga <itoral@igalia.com >
Suggested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
The shaders with spills or fills hurt are the usual suspects. A couple
compute shaders in Dirt Showdown and a compute shader in Bioshock
Infinite. On Haswell, a compute shader (that appears twice in
shader-db) from Aztec Ruins was also hurt for spill and fills.
Haswell
total instructions in shared programs: 11573934 -> 11568335 (-0.05%)
instructions in affected programs: 828623 -> 823024 (-0.68%)
helped: 2825
HURT: 6
helped stats (abs) min: 1 max: 134 x̄: 2.16 x̃: 1
helped stats (rel) min: 0.02% max: 9.05% x̄: 0.84% x̃: 0.61%
HURT stats (abs) min: 1 max: 216 x̄: 81.83 x̃: 56
HURT stats (rel) min: 0.16% max: 8.65% x̄: 4.21% x̃: 4.68%
95% mean confidence interval for instructions value: -2.31 -1.64
95% mean confidence interval for instructions %-change: -0.85% -0.80%
Instructions are helped.
total cycles in shared programs: 187573593 -> 187004633 (-0.30%)
cycles in affected programs: 82816107 -> 82247147 (-0.69%)
helped: 2186
HURT: 1741
helped stats (abs) min: 1 max: 35230 x̄: 326.96 x̃: 16
helped stats (rel) min: <.01% max: 46.11% x̄: 3.11% x̃: 0.90%
HURT stats (abs) min: 1 max: 6138 x̄: 83.73 x̃: 16
HURT stats (rel) min: <.01% max: 104.11% x̄: 2.73% x̃: 0.75%
95% mean confidence interval for cycles value: -197.13 -92.64
95% mean confidence interval for cycles %-change: -0.72% -0.33%
Cycles are helped.
total spills in shared programs: 7870 -> 7743 (-1.61%)
spills in affected programs: 2260 -> 2133 (-5.62%)
helped: 31
HURT: 5
total fills in shared programs: 6320 -> 6263 (-0.90%)
fills in affected programs: 3547 -> 3490 (-1.61%)
helped: 31
HURT: 6
LOST: 9
GAINED: 9
Ivybridge
total instructions in shared programs: 11863372 -> 11859793 (-0.03%)
instructions in affected programs: 757183 -> 753604 (-0.47%)
helped: 2236
HURT: 3
helped stats (abs) min: 1 max: 81 x̄: 1.86 x̃: 1
helped stats (rel) min: 0.03% max: 5.26% x̄: 0.74% x̃: 0.48%
HURT stats (abs) min: 11 max: 301 x̄: 192.33 x̃: 265
HURT stats (rel) min: 1.55% max: 10.51% x̄: 6.89% x̃: 8.62%
95% mean confidence interval for instructions value: -2.01 -1.18
95% mean confidence interval for instructions %-change: -0.77% -0.70%
Instructions are helped.
total cycles in shared programs: 178377378 -> 177946087 (-0.24%)
cycles in affected programs: 76261390 -> 75830099 (-0.57%)
helped: 1635
HURT: 1395
helped stats (abs) min: 1 max: 34796 x̄: 333.53 x̃: 16
helped stats (rel) min: <.01% max: 47.15% x̄: 2.82% x̃: 0.64%
HURT stats (abs) min: 1 max: 4315 x̄: 81.74 x̃: 18
HURT stats (rel) min: <.01% max: 49.98% x̄: 1.99% x̃: 0.53%
95% mean confidence interval for cycles value: -197.06 -87.62
95% mean confidence interval for cycles %-change: -0.78% -0.43%
Cycles are helped.
total spills in shared programs: 4188 -> 4182 (-0.14%)
spills in affected programs: 1557 -> 1551 (-0.39%)
helped: 30
HURT: 3
total fills in shared programs: 5056 -> 5245 (3.74%)
fills in affected programs: 2708 -> 2897 (6.98%)
helped: 30
HURT: 3
LOST: 5
GAINED: 1
No shader-db changes on any other Intel platform.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3544 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3544 >
2020-02-05 15:13:17 +00:00
Connor Abbott
8455648cca
tu: Move vsc_data and vsc_data2 allocation into the device
...
In addition to preparing us for dynamically resizing them, which has to
be controlled by the device, this greatly reduces the memory usage when
allocating large numbers of command buffers, making
dEQP-VK.api.object_management.max_concurrent.command_buffer_primary go
from crash -> pass.
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3621 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3621 >
2020-02-05 15:27:28 +01:00
Connor Abbott
84bd4da468
freedreno: Fix CP_COND_EXEC
...
Noticed while looking at a trace of the Vulkan blob.
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3600 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3600 >
2020-02-05 13:14:22 +00:00
Connor Abbott
ed5d1c1c47
freedreno: Add CP_REG_WRITE documentation
...
Document the first DWORD, which at least for the Vulkan blob on a640
isn't always 2.
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3600 >
2020-02-05 13:14:22 +00:00
Connor Abbott
65197a3ac1
freedreno: Fix CP_COND_REG_EXEC bit positions
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3600 >
2020-02-05 13:14:22 +00:00
Michel Dänzer
8be81f8a2a
gitlab-ci: Build radeonsi & RADV in the ppc64el job
...
This requires cross-building libdrm for ppc64el.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
2020-02-05 10:52:31 +00:00
Michel Dänzer
65610ec774
gitlab-ci: Add ppc64el and s390x cross-build jobs
...
Using LLVM 8 for ppc64el and 7 for s390x (which hits some coroutine
related issues with LLVM 8).
There are some test failures we need to ignore for now. Also, the
timeout needs to be bumped from the default 30s for some tests, because
they can take longer under emulation.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
2020-02-05 10:52:31 +00:00
Michel Dänzer
a443f81f26
gitlab-ci: Merge ccache and libxml2-utils into main apt-get install
...
The motivation for this is that we want to make use of the meson cross
files in this script, which have the ccache compiler paths.
We need to remove the ccache directory at the end, it would just waste
space in the image for no benefit.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
2020-02-05 10:52:31 +00:00
Michel Dänzer
a06fc0296d
gitlab-ci: Pass -j4 to make
...
Might speed up x86_build docker image build a little.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
2020-02-05 10:52:31 +00:00
Michel Dänzer
84fefa206c
gitlab-ci: Update to latest ci-templates HEAD
...
Among other things, this increases robustness when copying a docker
image from the main Mesa project to a forked project, avoiding spurious
image rebuilds from scratch.
Also drop the comment about .gitlab-ci/lava-gitlab-ci.yml, it doesn't
include the templates anymore.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643 >
2020-02-05 10:52:31 +00:00
Pierre-Eric Pelloux-Prayer
3da91b3327
radeonsi/ngg: add VGT_FLUSH when enabling fast launch
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2418
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2426
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2434
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3675 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3675 >
2020-02-05 10:27:54 +00:00
Eric Engestrom
2799676218
util/disk_cache: check for write() failure in the zstd path
...
CoverityID: 1458074
Fixes: a8d941091f ("util: Use ZSTD for shader cache if possible")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3672 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3672 >
2020-02-05 01:09:04 +00:00
Eric Engestrom
6321e3fb9f
dri: delete gen-symbol-redefs.py
...
Introduced in ba10d79cca but it looks like it was never wired
into anything.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3669 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3669 >
2020-02-05 00:46:46 +00:00
Lionel Landwerlin
bcb611361b
anv: implement gen12 post sync pipe control workaround
...
Same as Skylake.
v2: Restrict to A0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3405 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3405 >
2020-02-05 00:25:48 +00:00
Lionel Landwerlin
8949d27bb8
anv: implement gen9 post sync pipe control workaround
...
We've been missing this workaround for a while and since it's required
for Gen12, let's implement it for Gen9 first.
v2: Update comment for Gen9.
v3: Fix clearing of bits... (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3405 >
2020-02-05 00:25:48 +00:00
Lionel Landwerlin
19e7bcee17
iris: implement gen12 post sync pipe control workaround
...
Like Skylake, Gen12 requires a workaround for PIPE_CONTROLs using a
post-sync operation.
v2: Restrict to A0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3405 >
2020-02-05 00:25:48 +00:00
Rob Clark
2c07e03b79
freedreno: allow ctx->batch to be NULL
...
This was mostly true already, now that we use `fd_context_batch()` for
first access to batch in draw/clear/grid paths. So we can drop the old
code in `batch_flush()` that tried to prevent `ctx->batch` from being
NULL.
Fixes a crash with a large number of tabs in chromium.
Cc: "20.0" mesa-stable@lists.freedesktop.org
Signed-off-by: Rob Clark <robdclark@chromium.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3700 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3700 >
2020-02-04 23:59:33 +00:00
Eric Anholt
22d2cbe685
freedreno: Allow UBWC on textures with multiple mipmap levels.
...
This is a backport of Jonathan Marek's UBWC work on turnip to GL.
Performance highlights from our trace set (320 frames sampled)
traces/glmark2/texture-texture-filter=mipmap.rdc: +9.1% +/- 2.2%
traces/android/trex.rdc: +8.7% +/- 0.4%
traces/glmark2/desktop-effect=shadow:windows=4.rdc: +4.2% +/- 2.5%
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
ecd62ff766
freedreno: Disable UBWC on Z24S8 if not TEXTURE_2D.
...
Fixes two of our three remaining GLES CTS failures, and avoids more
regressions once we enable UBWC mipmaps.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
ddb0b35b76
freedreno: Blit all array levels when uncompressing UBWC.
...
Fixes regressions in GLES CTS's format_reintepret once we enable UBWC
with mipmaps.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
6b586d5a48
freedreno: Swap the whole resource layout in shadowing.
...
Let's not have to worry about whether this unusual code path gets
updated whenever we adjust what is in the layout struct.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
f9f5d3eb55
freedreno/a6xx: Disable the core layer-size setup.
...
This was getting in the way of UBWC mipmap handling.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
17312b4a10
freedreno: Rename the UBWC layer size field and store it as bytes.
...
This makes the field description match its usage in the code, matches tu's
usage of the field, and avoids storing values in surprising units.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
b6b4118bb0
freedreno: Include the layer size in layout debug.
...
It's been many of my bugs so far.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Eric Anholt
20357dfde8
freedreno: Move the layout debug under FD_MESA_DEBUG=layout.
...
I keep wanting to turn this on while debugging layout stuff, and I
suspect krh and robclark could use it too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3059 >
2020-02-04 23:18:00 +00:00
Bas Nieuwenhuizen
65a6dc5139
radv: Do not set SX DISABLE bits for RB+ with unused surfaces.
...
The extra bits in CB_SHADER_MASK break dual source blending in
SkQP on a Stoney device. However:
- As far as I can tell, some other dual source blend tests are passing
before and after the change.
- A hacked around skqp passes on my Vega desktop and Raven laptop
- Getting Skqp to give any useful info or to run it outside of Android
on ChromeOS is proving difficult.
I have confirmed 3 strategies that seem to work:
- The old radv behavior of setting CB_SHADER_MASK to 0xF
- AMDVLK: CB_SHADER_MASK = 0xFF, and the 3 RB+ regs
are 0.
- radeonsi: CB_SHADER_MASK = 0xFF, but does not set DISABLE
bits in SX_BLEND_OPT_CONTROL for CB 1-7.
Let us use the radeonsi solution as that solution also seems like the correct
thing to do for holes. I have tested on my Raven laptop that setting the high
surfaces to not disabled and downconvert to 32_R does not imply a performance
penalty.
Fixes: e9316fdfd4 "radv: fix setting CB_SHADER_MASK for dual source blending"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3670 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3670 >
2020-02-04 21:22:30 +00:00
Marek Olšák
17303c9851
mesa: implement missing display list functions while switching to the template
...
The vbo_init_tmp.h template tells us which functions are unimplemented.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
2020-02-04 15:12:05 -05:00
Marek Olšák
56de59b931
vbo: move reusable code from vbo_attrib_tmp.h into vbo_util.h
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
2020-02-04 15:12:03 -05:00
Marek Olšák
052e8f758e
vbo: use the template for save GLvertexformat initialization
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
2020-02-04 15:12:01 -05:00
Marek Olšák
9ec5e96ec8
vbo: use the template for noop GLvertexformat initialization
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
2020-02-04 15:12:00 -05:00
Marek Olšák
d447a4888f
vbo: move GLvertexformat initialization into a template header file for reuse
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3611 >
2020-02-04 15:11:58 -05:00
Eric Engestrom
cae6093266
freedreno/perfcntrs: fix fd leak
...
CoverityID: 1110568, 1458071
Fixes: 5a13507164 ("freedreno/perfcntrs: add fdperf")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3671 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3671 >
2020-02-04 19:26:40 +00:00
Eric Anholt
8a2c507a8a
util: Drop unpacking from int signed to unsigned and vice versa.
...
After all the previous cleanups, it's clear that the callers only ever
ask for SINT->SINT or UINT->UINT. Cuts 20k of compiled text from
gallium drivers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
1d367c3aa5
gallium: Refactor some single-pixel util_format_read/writes.
...
We can use the new row helpers to cut down on the noise.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
ab081970e0
gallium: Add and use a helper for packing uc from a color_union.
...
The same pattern kept coming up, and we don't need to hit
util_format_write_4* to do it when we have util_format_pack_rgba().
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
b2a2cf492d
softpipe: Refactor pipe_get/put_tile_rgba_* paths.
...
We always want the same behavior of choosing which unpack to do to
generate our 4x32-bit RGBA values, so just sink that choice down below
the pipe_get/put_tile API.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
8bc56551da
softpipe: Drop the raw_to* part of the tile cache interface.
...
Nothing else uses it, so make it static.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
6cdf523f00
gallium/util: Remove pipe_get_tile_z/put_tile_z.
...
The previous caller wasn't using it as tiled, just row-at-a-time, and
didn't want the clipping (since copytexsubimage comes in clipped). If
someone wanted these functions again in the future, they should be
rewritten on u_format_pack/unpack.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
e986f2b7af
mesa/st: Use direct util_format_pack/unpack instead of u_tile.
...
We're doing a row at a time, and don't need u_tile's clipping.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Eric Anholt
c574cda3c6
util: Make helper functions for pack/unpacking pixel rows.
...
Almost all users of the unpack functions don't have strides to plug in
(and many are only doing one pixel!), and this will help simplify
them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2744 >
2020-02-04 19:02:59 +00:00
Karol Herbst
333c9d5bb0
clover: add trivial clCreateCommandQueueWithProperties implementation
...
It's not adding 2.0 features, but it's enough to run the 2.0 CTS on top of
clover and probably most CL applications using it.
We just fail if we hit unknown properties and that's probably good enough
until we implement the other bits properly.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2370 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2370 >
2020-02-04 18:09:23 +00:00
Eric Anholt
b064697af1
gallium/osmesa: Try to fix the test for big-endian.
...
Our packed expected values will be byte-swapped for the (mostly) array
formats we're testing.
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:08 +00:00
Eric Anholt
dd899fd43e
gallium/osmesa: Fill out other format tests.
...
Move expected values/bpp into the test params, add more formats now that
we've fixed context setup so that they work.
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:08 +00:00
Eric Anholt
0a53918f02
gallium/osmesa: Fix MakeCurrent of non-8888 contexts.
...
OSMesa is weird and you only get the type (byte/ubyte/565/etc.) at
MakeCurrent time, having only a channel order at CreateContext time. The
code was setting up a visual at CreateContext time, and then at
MakeCurrent it would fail to validate against the visual.
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:08 +00:00
Eric Anholt
655394c6ed
gallium/osmesa: Fix a typo in the unit test's test names.
...
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:08 +00:00
Danylo Piliaiev
75c50d0342
osmesa/tests: Cover OSMESA_RGB GL_UNSIGNED_BYTE case
...
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:08 +00:00
Danylo Piliaiev
d83abf1d37
st/mesa: Handle the rest renderbuffer formats from OSMesa
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2189
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/989
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2036
CC: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216 >
2020-02-04 17:48:07 +00:00
Eric Engestrom
d1165ad18b
util/os_socket: fix header unavailable on windows
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2464
Fixes: e62c3cf350 ("util/os_socket: Include unistd.h to fix build error")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com >
2020-02-04 17:33:49 +00:00