URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=53d64753e16063c97286e82c6eeb8e46a88f63d1
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 11:53:38 2019 -0700
panfrost: Update supported formats
Much of the format selection code was inherited from softpipe (!) of all
places, and a lot of it is accordingly cruft. Later if-elses were added
in random places to workaround missing formats at various points in
history. Clean up some of this.
Theoretically, any format we can texture from we can also render to. In
practice, there are a few corner cases that we need to disable
explicitly.
For one, we do have to restrict SCANOUT formats to workaround
buggy apps (in particular, dEQP which with --deqp-surface-type=window
under Weston will end up with RGB10_A2 and complain about low alpha
precision). Just be clearer about how/why.
Also, RGB5_A1 support is still broken; let's not worry about that quite
yet.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ced132d2038efdb40ef42e9467956166ac6331c5
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 06:26:48 2019 -0700
panfrost/mfbd: Cleanup format code selection
Rather than have random variables flying around and a long if-else
chain, use a switch. They're literally *designed* for this.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=da5382c0d87990c51b947bcc6035564e96a6a364
Author: Alyssa Rosenzweig <[email protected]>
Date: Wed Jul 3 15:31:24 2019 -0700
panfrost/midgard: Cleanup blend switch
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0c709a13af324e9739634e830cbadec93ea6d3d
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 15:59:22 2019 -0700
panfrost/mfbd: Handle PIPE_FORMAT_B10G10R10A2_UNORM
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c58c5268da90912933507770c81533e9ba8b203c
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 15:58:54 2019 -0700
panfrost/midgard: Handle PIPE_FORMAT_B10G10R10A2_UNORM
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2ee937cf2524055704c097bdc00a27aa84b9fc1
Author: Alyssa Rosenzweig <[email protected]>
Date: Wed Jul 3 12:34:32 2019 -0700
panfrost: Implement ES3-format writeout
We add support for writing out (via a blend shader):
- RGBA4
- RGB10_A2_UNORM
- RGB10_A2_UINT
- RGB5_A1_UNORM
- R11G11B10_FLOAT
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=46396af1ec4b69ca4a38b501fa2cf37386947840
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 15:40:08 2019 -0700
panfrost: Refactor blend infrastructure
We would like to permit keying blend shaders against the framebuffer
format, which requires some new blending abstractions.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9af7701d1be791752fafcbe19169851bcdf1336
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 16:51:30 2019 -0700
panfrost/midgard: Use unsigned blend patch offset
We would like the offset field to be unsigned, letting 0 represent "no
offset" and positive represent an offset.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6def428f101df867ace51eba6ec412ca971df6cd
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 10:54:23 2019 -0700
panfrost/midgard: Handle pure int formats
I'm not sure I'm totally comfortable with this, but conceptually neither
float nor pure-int formats require any format conversion, except size
conversion. Going from a shaderable format (fp32 or i16, for instance)
into a blendable format (fp16) is a separate question, one we can defer
momentarily while we're not interested in actually blending.
As an aside, I'd be fascinated by an integer-based blending
implementation.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=280c777fd7930de70ea3ebf6b7d1298fae4ab53d
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 10:50:00 2019 -0700
panfrost/mfbd: Handle pure int formats
We see that the render target itself turns out to be typeless
(surprise!)
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7647e56c1f1033772945dd9f88f6e189594bc8e0
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 09:54:23 2019 -0700
panfrost: Set rt_count_2 for bpp>4 formats
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c619210b280eb472782490dd884acaa9eaaa4a1
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 09:23:31 2019 -0700
panfrost/midgard: Implement preliminary float converters
We'll need some careful handling, but for now, get some baseline code
out for handling float formats in a blend shader.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5849c8500863a058911df6405cbe4279b0b83d1a
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 09:48:19 2019 -0700
panfrost/midgard: Skip blend for REPLACE (shader)
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e825f5cad5af4b085cfbaabc765dc42718e4b9e
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 09:08:18 2019 -0700
panfrost: Handle "blend disabled" blend shaders
Normally, disabled blend can definitely be fixed-function'd away, but
if a blend shader is used merely for format conversion rather than
blending, this code path can be nevertheless hit.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=27e0c8c15ddab34358524bd072712dd3c6f70c3c
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 06:47:13 2019 -0700
panfrost: Route format through fixed-function blending
Not all framebuffer formats are supported by the fixed-function blender.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7551c1bff8ee3a3c2df793dd2905479d5b08c6b
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 06:34:52 2019 -0700
panfrost: Pipe framebuffer format around
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74fd914a8932883d7bd6f7add51a41da994f5ec8
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 06:28:47 2019 -0700
panfrost/midgard: Use Gallium framebuffer formats
Ideally, we would keep Galliumisms far away from the compiler;
unfortunately, Mesa hasn't standardized on system of format codes to be
shared across APIs and across drivers, so using Gallium formats is our
best bet in the short run.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2157fe967ab6813d528df058395c877dc95c8f3b
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 19:55:00 2019 -0700
panfrost/midgard: Use fp16 exclusively while blending
We now have some preliminary fp16 support available. We're not able to
expose this for GLSL quite yet, but for internal blend shaders, we're
able to do control bitness ourselves just fine. So let's fp16 that
stuff!
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0cfa54801e6beac8bd1f1e7152cc02af6a636ea0
Author: Alyssa Rosenzweig <[email protected]>
Date: Tue Jul 2 06:05:18 2019 -0700
panfrost/midgard: Remove opt_copy_prop_tex
Eventually this should be replaced by proper tex RA / not emitting so
many silly moves to begin with / better general copy prop. For now
remove it since it breaks things.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b113be7683afec96426575496d76ae3beb03a5e1
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 20:23:50 2019 -0700
panfrost/midgard: Fix scalarification
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e92caad74476b915bb73baedbddce8af89bd62b0
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 20:02:57 2019 -0700
panfrost/midgard: Handle fp16 in embedded_to_inline_constants
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dbedb26f571497a6bfcd58f7e48a32ec4bd58f8
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 19:57:49 2019 -0700
panfrost/midgard: Eliminate redundant type convert
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=64df54d8944276687685d6d1261dd5448608b0f3
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 19:49:51 2019 -0700
panfrost/midgard: Fix fp16 embedded constants
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8b18a4277cc96b2048c9b74fb0d39e2112bb4c1
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 18:51:48 2019 -0700
panfrost/midgard: Hoist mask field
Share a single mask field in midgard_instruction with a unified format,
rather than using separate masks for each instruction tag with
hardware-specific formats. Eliminates quite a bit of duplicated code and
will enable vec8/vec16 masks as well (which don't map as cleanly to the
hardware as we might like).
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e69cf1fed908bcc0f3df8ca6afb66647bdfac3c4
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 18:35:28 2019 -0700
panfrost/midgard: Allow fp16 in scalar ALU
The packing is a little different, so implement that.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8c084d2ca58710897df3e4cc9468177e791d1e8
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 17:41:20 2019 -0700
panfrost/midgard: Implement f2u16 and friends
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=954c6afa3e21a91042d705415a1515f1088bdc96
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 17:38:26 2019 -0700
panfrost/midgard: Implement f2f16/f2f32
These conversions handle half-floats within the shader.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ed8cca0082052ba11279c7df28ca231ff7fc731
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 17:35:25 2019 -0700
panfrost/midgard: Verify src_bitsize == dst_bitsize
We can handle differing, but we'd prefer not to because there are
restrictions on sizing which aren't accounted for yet.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1686ef8655e02096ec2daa826c86c8ec39fbcb24
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 17:23:58 2019 -0700
panfrost/midgard: Simplify blend read
It's not clear where the extra indirection was from (older hardware or
just older blobs?)
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=952993d3bb53cc7370df9f64780786523a8708f6
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 16:45:07 2019 -0700
panfrost/midgard: NIRify blend load scale/convert
The scale and type-convert can now be expressed in NIR, rather than MIR,
which is significantly more maintainable and demonstrates correctness of
the type conversion patches.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae42991b83d03fd3776f8fd4e926a3b4017ebf54
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 16:44:49 2019 -0700
panfrost/midgard: Fix blend constant scheduling bug
Blend constant conflicts run in two directions.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f807ef1fa9ff90a1bfb0f16f483d8649e2faf50
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 16:44:00 2019 -0700
panfrost/midgard: Implement upscaling type converts
Rather than using a dest_override, we upscale integers by using a half
field with a sign-extend bit. A variant of this trick should also work
for floats, but one step at a time!
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=541b329bd1bcb157dd239b132f49f73ef173132d
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 15:02:40 2019 -0700
panfrost/midgard: Move blend load/store into NIR
We have dedicated intrinsics to access the raw contents of the tile
buffer so we can use a dedicated NIR pass to lower appropriately for
blend shaders, rather than introducing a bizarre hardcoded blend
epilogue that only works for RGBA8_UNORM.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f42e5be9105c0a7a6358e51ca2af6fd5a31c6e7e
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 15:28:37 2019 -0700
panfrost/midgard: Use nir_dest_num_components
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4df80cab40374effc40141b96bf9aa899ba554a1
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 15:26:22 2019 -0700
panfrost/midgard: Implement integer downsize ops
Oh, dear. No turning back now.
We begin implementing non-32-bit types, using downsizing integer type
conversions as the initial instructions. We implement them naively as
type-converting moves; substantially more efficient operation is
possible by copypropping the type conversion modifier, but this
optimization is not implemented here.
Size converting modifiers on Midgard allow an instruction to write to a
destination 1/2 the size, or to read from a source 1/2 the size. If we
need an extreme conversion (32-bit to 8-bit, for instance), multiple
type converting ops are chained together, which here is handled via an
algebraic pass.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc69d3bf8f00b956424094a52cb3d0c6125efaaa
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 14:46:43 2019 -0700
panfrost/midgard: Move scale from MIR to NIR
This begins the process of removing blend shader specific MIR into a
more general NIR lowering pass for formats.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d151319a3d591e7ac157f8e3ea070f2569c73b51
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 13:26:07 2019 -0700
panfrost/midgard: Passthrough nir_lower_framebuffer
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e4e46794ed5a4cc8a84e91977f7950617b7b459
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 11:49:06 2019 -0700
panfrost: Extend clear colour packing
Eventually, this will allow packing clear colours for all formats,
including floating-point framebuffers, pure integer buffers, and special
formats. Currently, a few of these formats are supported, and many more
are handled through a generic Gallium colour packing path (which is not
a perfect fit for the hardware, but works for many formats and is a sane
default for the moment.)
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=21c863a695bfcb3c19ee1e1c84ecab67f49553eb
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 09:44:40 2019 -0700
panfrost/mfbd: Include codes for float framebuffers
We see the hardware doesn't actually support float framebuffers in the
native sense -- rather, it just allows higher bpp framebuffers and lets
a blend shader / additional clear_color fields sort out the formats.
This will be.. interesting.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=36b3e7ea90ee275451184b287577f4b88962df81
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Jul 1 09:09:03 2019 -0700
panfrost: Prepare some code for MRT
Full MRT support is a while away, but in the mean time, we can remove
code that explicitly assumes nr_cbufs <= 0, to minimize the obstacles
we'll face later when we add the whole thing.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c82dfba8f37793e30b445428a2450bfca8b7e26
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Jul 5 08:25:56 2019 -0700
panfrost: Use standard ALIGN_POT/INFINITY macros
We had vendored duplicates from pre-Mesa days; clean that up.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit