Daniel Schürmann
9d64ad2fe7
radeonsi: lower discard to demote when FS_CORRECT_DERIVS_AFTER_KILL is enabled
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4047 >
2020-03-09 12:29:32 +00:00
Daniel Schürmann
de57ea2a3d
amd/llvm: implement nir_intrinsic_demote(_if) and nir_intrinsic_is_helper_invocation
...
The current implementation uses a temporary helper variable
to ensure correct behavior until LLVM provides an intrinsic.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4047 >
2020-03-09 12:29:32 +00:00
Daniel Schürmann
ce87da71e9
nir: add pass to lower discard() to demote()
...
This pass is intended to work around game bugs, only!
It also lowers nir_intrinsic_load_helper_invocation to
nir_intrinsic_is_helper_invocation for consistency.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4047 >
2020-03-09 12:29:32 +00:00
Daniel Schürmann
5adcfa68a9
nir: gather info whether a shader uses demote_to_helper
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4047 >
2020-03-09 12:29:32 +00:00
Eli Schwartz
66bb314cb4
docs: fix typo in v20 release notes
...
It makes no sense to wait for it to stabilize on a version released
months previously in the previous major release cycle.
This was probably intended to be recommending the first bugfix release
of the current major.minor release cycle.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4106 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4106 >
2020-03-09 12:09:09 +00:00
Eric Engestrom
4390c232ad
Revert "docs/relnotes/19.3: fix vulkan version reported"
...
This reverts commit 5ff443b8aa
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4112 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4112 >
2020-03-09 11:41:59 +00:00
Tapani Pälli
24408acca4
nir: fix compilation warning on glsl_get_internal_ifc_packing
...
Removes following warning:
warning: 'const' type qualifier on return type has no effect
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4111 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4111 >
2020-03-09 09:43:49 +00:00
Krzysztof Raszkowski
ad66b25415
gallium/swr: Fix vcvtph2ps llvm intrinsic compile error
...
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4090 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4090 >
2020-03-09 09:21:00 +00:00
Pierre-Eric Pelloux-Prayer
33b255e107
meson: enable -fno-common by default
...
This flag is enabled by default starting with gcc 10.
All the compilation issues have been fixed, so use it by default
to make sure we're not introducing regressions.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4058 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4058 >
2020-03-09 09:11:07 +01:00
Pierre-Eric Pelloux-Prayer
283e815339
omx: fix build with gcc 10
...
bellagio/omx header files reference a global variable without the
extern keyworkd.
Now that gcc-10 enables the '-fno-common' by default the build fails.
Since these are external headers we can't easily fix them, so for
now build the omx module with the '-fcommon' flag to keep the
previous behavior.
See https://gitlab.freedesktop.org/mesa/mesa/issues/2385
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4058 >
2020-03-09 09:11:00 +01:00
Matt Turner
e924181ea8
intel/compiler: Discount NOPs from instruction counts
...
Scheduler changes can cause changes in the number of instructions due to
this workaround, so just don't include NOPs in the instruction counts to
prevent shader-db noise.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:12 +00:00
Matt Turner
bb3e7b0fe3
intel/compiler: Pass shader_stats for each SIMD mode
...
Passing shader_stats to the fs_generator constructor means that the
SIMD8 shader stats from the visitor (such as the scheduler mode) will be
reported out for the SIMD16/SIMD32 versions as well.
As you can see, we are now passing 'shader_stats' and 'stats' to
generate_code(), which is obviously odd looking. Ian rebased and
committed an old patch of mine which added the shader_stats struct on
July 30 in commit dabb5d4bee (i965/fs: Add a shader_stats struct.) and
shortly after on August 12 Jason added the brw_compile_stats struct in
commit 134607760a (intel/compiler: Fill a compiler statistics struct).
I'd like to combine the two, but I'm not sure how. shader_stats is an
input to generate_code() while brw_compile_stats is an output and is
only used by the Vulkan driver. Leave it as is for now...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:12 +00:00
Matt Turner
e7d0460d58
intel/compiler: Pass backend_shader * to cfg_t()
...
As you can see, not having a pointer to the backend_shader from within
the class makes for some weird looking code.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:12 +00:00
Matt Turner
edae75037f
intel/compiler: Mark visitor parameters to scheduler const
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:12 +00:00
Matt Turner
75a33e268e
intel/compiler: Mark some methods and parameters const
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:11 +00:00
Matt Turner
03ac90aae5
intel/compiler: Make instructions_to_schedule a local variable
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:11 +00:00
Matt Turner
43019c6f2c
intel/compiler: Remove unnecessary local variables
...
These are already provided in the fs_reg_alloc class.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:11 +00:00
Matt Turner
3d0821a216
intel/vec4: Make implied_mrf_writes() a vec4_instruction method
...
Same as commit c20dc9b836 (intel/fs: Make implied_mrf_writes() an
fs_inst method.)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093 >
2020-03-09 04:44:11 +00:00
Christian Gmeiner
d8f3d0a3a8
etnaviv: implement emit_string_marker
...
Writes string to cmdstream in payload of a nop command.
Could be useful for internal driver debugging too.
Here is how it looks decoded:
0x18000000, /* NOP (3) OP=NOP */
0x65736572, /* rese */
0x18000000, /* NOP (3) OP=NOP */
0x00000074, /* t */
0x00000000, /* GL.API_MODE := OPENGL */
or
0x00000705, /* GL.STALL_TOKEN := FROM=RA,TO=PE,FLIP0=0,FLIP1=0 */
0x00000001, /* TS.FLUSH_CACHE := FLUSH=1 */
0x18000000, /* NOP (3) OP=NOP */
0x616e7465, /* etna */
0x18000000, /* NOP (3) OP=NOP */
0x6275735f, /* _sub */
0x18000000, /* NOP (3) OP=NOP */
0x5f74696d, /* mit_ */
0x18000000, /* NOP (3) OP=NOP */
0x735f7372, /* rs_s */
0x18000000, /* NOP (3) OP=NOP */
0x65746174, /* tate */
0x00004606, /* RS.CONFIG := SOURCE_FORMAT=A8R8G8B8
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3744 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3744 >
2020-03-08 13:29:56 +00:00
Christian Gmeiner
4460628330
etnaviv: increase number of supported varyings to 16
...
No deqp regressions.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3827 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3827 >
2020-03-08 11:08:59 +00:00
Christian Gmeiner
53c6cb1bad
etnaviv: update headers from rnndb
...
Update to etna_viv commit fd2e2cfd.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3827 >
2020-03-08 11:08:59 +00:00
Christian Gmeiner
84816c22e4
etnaviv: ask kernel for max number of supported varyings
...
The inital etnaviv kernel driver in 4.5 has support for this param.
See kernel commit 602eb48966d7b7f7e64dca8d9ea2842d83bfae73
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3827 >
2020-03-08 11:08:59 +00:00
Michel Dänzer
0103f02acb
gitlab-ci: Always name artifacts archive after the job producing it
...
This will help determine which artifacts generate how much traffic.
v2:
* Add "mesa_" prefix to make it obvious which project the artifacts are
from.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4085 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4085 >
2020-03-07 11:09:50 +01:00
Lionel Landwerlin
20c09c9c06
anv: stop storing prog param data into shader blobs
...
We have no use for this data in Anv.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason EKstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3517 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3517 >
2020-03-07 05:51:45 +00:00
Jason Ekstrand
e03f965280
anv: Bounds-check pushed UBOs when robustBufferAccess = true
...
We also have to add nir_intrinsic_load_push_constant to the list of
intrinsics which use push constants in brw_nir_analyze_ubo_ranges
because we're moving the loop where we rewrite the intrinsics to after
we've analyzed UBO loads.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:29 +00:00
Jason Ekstrand
faea84e254
anv: Add an align_down_u32 helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:29 +00:00
Jason Ekstrand
61ac8cf083
anv: Align UBO sizes to 32B
...
This makes all of our bounds checking consistent with the block loads we
do for constant offset UBO accesses.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:28 +00:00
Jason Ekstrand
4610d69e37
anv: Delete some pointless break statements
...
They immediately follow returns.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:28 +00:00
Jason Ekstrand
28c243e9ec
anv: Pass buffer addresses into emit_push_constant*
...
While we're here, we add an assert that bind_map::push_ranges is tightly
packed. If it isn't, it breaks assumptions in the emit_push_constant*
functions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:28 +00:00
Jason Ekstrand
ff5de35127
anv: Mark max_push_range UNUSED and simplify the code
...
The compiler should be smart enough to figure out that it's unused on
Gen11 and earlier and delete the code which calculates. Us adding an
`if (GEN_GEN >= 12)` check is unnecessary and just dirties the code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:28 +00:00
Jason Ekstrand
35ca2ad22e
anv: Parse VkPhysicalDeviceFeatures2 in CreateDevice
...
The client may enable robustBufferAccess2 via either
pCreateInfo->pEnabledFeatures or via a chained-in
VkPhysicalDeviceFeatures2 struct. We need to parse both.
Fixes: 022e5c7e5a "anv: Implement VK_KHR_get_physical_device_properties2"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3777 >
2020-03-07 04:51:28 +00:00
Eric Engestrom
0e4c001951
docs/relnotes/20.0: fix vulkan version reported
...
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/4092 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4092 >
2020-03-07 00:57:15 +00:00
Eric Engestrom
5ff443b8aa
docs/relnotes/19.3: fix vulkan version reported
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4092 >
2020-03-07 00:57:15 +00:00
Eric Engestrom
2557d614d3
gen_release_notes: fix vulkan version reported
...
Fixes: 4ef3f7e3d3 ("anv: Enable Vulkan 1.2 support")
Fixes: 7f5462e349 ("radv: enable Vulkan 1.2")
Fixes: 75755e0eba ("turnip: Pretend to support Vulkan 1.2")
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4092 >
2020-03-07 00:57:15 +00:00
Alyssa Rosenzweig
de30a7ae6e
pan/bi: Fix Android.mk
...
Files listed in Makefile.sources did not exist, this affects the android
build for other drivers as well.
[Patch by Tapani manually cherrypicked into this branch]
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
0b0be49005
pan/bi: Rename next-wait to simply 'wait'
...
next-wait is from a quirk of packing that the dependency indices are
"off by one"; we don't emulate this quirk in the IR since it's easy
enough to patch over in the disassembler. Let's not confuse anybody with
it.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
b329f8c750
pan/bi: Add dummy scheduler
...
Do the absolute simplest possible thing -- create a clause for every
instruction, and just pick whichever slot we can, nopping the other,
copying whatever constant we have whether it's used or not.
To be clear - this is not to be used in a production compiler. But this
lets actual bundles and clauses show up in the BIR, which unblocks work
on final code generation and packing (which can happen more or less in
parallel to NIR->BIR, optimization, register allocation, and writing an
actual scheduling).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
51e537c9fa
pan/bi: Implement load_const
...
In the laziest possible way... We can just emit worst case moves which
DCE will eat for breakfast anyway, and inline constants on instructions
where that is supported directly. This approach eliminates a lot of
nasty corner cases that Midgard's crazy cache scheme has hit, at the
expense of slightly more work for DCE (but it's only a single iteration
of an O(N) pass that has to run anyway..)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
1ead0d3488
pan/bi: Add preliminary LOAD_UNIFORM implementation
...
Lots of things are missing (indirect access, UBOs) but we have this
stubbed out for now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
48910e8388
pan/bi: Implement store_vary for vertex shaders
...
As far as I/O goes, these four should hold us over for a while.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
d86659ca57
pan/bi: Add helpers for creating temporaries
...
Also from Midgard, adapted to our addressing scheme.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
59b476e11a
pan/bi: Implement load_input for vertex shaders
...
Corresponds to a single LD_ATTR instruction, easy enough.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
dabb6c6b9f
pan/bi: Implement store_output for fragment shaders
...
Corresponds to a BLEND instruction, possibly preceded by an ATEST
instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
79c1af0623
pan/bi: Add bi_schedule_barrier helper
...
Copypaste from Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
92a4f26e7f
pan/bi: Add blend_location to IR for BI_BLEND
...
To specify which render target is being written.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
0767182665
pan/bi: Implement nir_intrsinic_load_interpolated_input
...
Enough for basic varying reads.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
806533ba7f
pan/bi: Fix destination printing
...
It should get the same treatment as sources to handle SSA/reg/etc.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
65c8dcca3b
pan/bi: Handle jumps (breaks, continues)
...
Loops should behave reasonably now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
987aea1400
pan/bi: Handle loops when ingesting CFG
...
Not very useful without also handling breaks and continues, of course.
We use the strategy from v3d (vir_to_nir) instead of Midgard's, since
the latter is mildly insane. I mean, it passes deqp but...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00
Alyssa Rosenzweig
9a00cf3d1e
pan/bi: Add support for if-else blocks
...
Branch lowering code lifted from Midgard as usual.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097 >
2020-03-07 00:37:39 +00:00