gio: make blit and cover shaders available for FBO rendering
Signed-off-by: Elias Naur <mail@eliasnaur.com>
gui: add opacity support to the blit shader
This is required to enable opacity layers in Gio.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
gio: make material.vert portable across GPU API
material.vert wasn't portable to the flipped coordinate systems of
Direct3D and Metal.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
piet: avoid shared bools to workaround a Metal compiler crash
Binning and tile_alloc fails to compile on (at least) iPhone SE and iPhone 6
devices. According to Apple engineering:
"
> Termination Description: METAL, Error message SHA256:
72c506019ccc01b7a5e462772dda490916b1e02d5776ce5d9855f303caad35ea Decoded
hash: "Store of byte to local memory is unsupported"
The crash suggests an attempt to do a store to memory that was
impossible on that device. We have no way of testing this but it may be
that replacing all the bool's in local memory with uint's fixes the
problem.
"
This change replaces shared bools with uints, which fixes the compiler
crash on both devices.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
gio: convert shaders to assume Vulkan coordinate system
Signed-off-by: Elias Naur <mail@eliasnaur.com>
cmd/convertshaders,piet: add StorageBuffers, Images reflection
Signed-off-by: Elias Naur <mail@eliasnaur.com>
piet,cmd: add Direct3D 11 variants of compute programs
gio: fix OpenGL ES 2.0 compatibility
glGetUniformLocatino only works on named uniform blocks.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
all: add Metal support
Signed-off-by: Elias Naur <mail@eliasnaur.com>